So far, I've learned how to use IDA to find the implementation of a protected lua function (working with 3.3.5). I used MoveForwardStart as an example, and in it I found the 005191C0 call address, not because I knew what to look for exactly, but because I recognized this offset mentioned by several people here. However, it doesn't make sense to me when CastSpellByName apparently doesn't make any reference to that address. I did figure out how to patch it though, which was incredibly easy.
Using the same method on a later client version doesn't seem to work. I checked many protected functions and none of them appear to be calling one particular offset. Could someone explain why this is? This is about where my knowledge brickwalls and I expect my experience with IDA is probably a limiting factor as well.
The client version in question is a modified 4.0.6 wow.exe for a private Cataclysm server (where all previous retail offsets do not work). My goal is to learn how the 3.3.5a offset was found so I can apply the same method to different versions. Any help or hints would be appreciated.
PS: I know how it is here, so this is a long-shot, but if someone is feeling particularly generous I could upload the modified wow.exe for you to look at.