THANK YOU. now I get it haha
So I find the original check. Place my routine which just branches to free space, then in that free space I have it check for every ability related to that behavior byte then after checking them all it branches back.
Thank you so much
Unsuprisingly, I have another question :p
How do you find the original checks? I believe you said to use a debugger, but I would not know where to set breakpoints?
You don't put the branch in free space.
You find the original check, then replace that with a branch to your routine, which loads new checks. Then if Sap Sipper is not successful you branch back to where it was before.
I hope this doesnt sound too noobish, but at that region, I can't find any free space to put my branching command :3 (By branching command I mean the code that loads the pokemon's ability, checks if its sap sipper, and then branches to my code)
I assume you're using Fire Red? In that case why not use my rombase? That's got Sap Sipper done. But anyway I put Sap Sipper where Water Absorb and stuff are. 1A000 region somewhere. Don't have the offset on me, but you should find it there.
Yeah, I kind of felt like that would be the case :/
I appreciate your response and help though. The problem that still baffles me, is how to determine where and how to insert my written ASM. Through one of Kurapika's code samples, I learned how to write code that makes the game check for the new abilities, but I'm not sure where I would add the check in game. Let's say, for instance, I wanted to code for the ability sap sipper. Where in the game do I add the code so that it checks for the ability at the appropriate time?
Thanks again, your responses are very helpful!
The problem with making a tutorial is that there isn't a set way.
Each ability and item check follows 'roughly' the same formula, though in each case it's different.
There are also a butt ton of different offsets and locations.
As for inserting new abilities that's the same as anything else, it's just a matter of writing the code, which usually requires some experience with ASM or by looking at how Vanilla handles those types of routines and hijacking that.
That being said, feel free to PM me if you start looking for checks and thing in your debugger, or want help with some specific checks. I don't have them all obviously but in my search through the rom I've identified a few.
Would you by chance consider collaborating with doesn't, jambo, and karatekid on making a tutorial explaining item checks and inserting asm for new abilities? It would be helpful for asm newbs like me who can sort of understand how the abilities and items function, but aren't savvy enough to implement them
Thanks and good luck on your patch/64x64 resource (hope to see some new sprites on that page soon, it makes my day each time you post lol)
Hey! I probably couldn't put it into the 4th/5th move animation resource because its really quite complicated. Also it's not actually my code as such, Kurapika just showed me how he created it, using his routines, so I'd ask him for my permission to use them.