Okay, some questions for pretzel or anyone that knows how to find an offset from scratch.
I can now follow the jmps and actually understand what's going on to a greater extent. Like the Enduring breath and no blur offsets for instance.. I know that the line above the je is a test, so it's testing to see if you have no blur or eb enabled. Then it comes to the jump. By changing the je to a noop then you effectively cancel the jump no matter what the test results are. I think I understand that.. Now we get to what I don't understand.
Let's take the safe fall offset for instance.
dont take fall damage: 4E6FA1 0F 84 90 E9
Now when I look this up in dasm, I get this line:
mov al, byte ptr [ebp+00000125]
Now I can understand the need to change a jmp, or even a cmp to get the necessary effect that I want. If it's a conditional jump, then I would need to change the condition. If it's a cmp then changing the register it's looking at would effect the outcome of that cmp...
But why on earth would I need to change a mov in order to get the ability of safe fall maxed? If it was taking the distance of the fall, wouldn't it push that value and then run a cmp? If it was comparing the distance of the fall with the current skill of safe fall, wouldn't that be a cmp and then a je/ja/ect?
It works, so I know there's gotta be a reason, but damned if I can figure it out.

Help... please?