Sorry to bother you, but I was looking for a solution to the Mooch 2 issue to complete something I have been working on, and I stumbled upon this thread.
Please correct me if I am misunderstanding something, but the problem I see with this solution is that FishingManager.CanMooch should return false, as it returns the result of (paraphrasing) InternalClass.InternalMethod(ActionType.Spell, 297u, ...). Since the check is for spell 297u, and the conditions to cast Mooch 1 and Mooch 2 are not similar, the check does not work to validate "can Mooch 2." The method used by CanMooch() is part of an inaccessible internal class, so I have been unable to write a workaround.
Would it be possible to implement something like 'bool CanMooch2()' that returns the result of that same method for Mooch 2, ie: InternalClass.InternalMethod(ActionType.Spell, 268u, ...)
Again I apologize if I am just misunderstanding something, I am new to RB development and I am not terribly proficient at C#. Thanks!