That's your Inverse Battles hack, and I have a question how do I change the flag, so it's not Pokéflute? You said 6th and 8th lines have to be changed, and I understand what I have to change in 8th, but I have no idea what do I have to change in 6th line?
EDIT: I decided to put off trying to add new abilities until I have enough knowledge of ASM, because so far it has been very confusing for me (and probably you, sorry). So I was going through part two of HackMew's tutorial, and I saw he uses the operations XOR and AND, but he doesn't explain it. Can you help? He also uses the formula "Xn+1 = [(a * Xn) + c] mod m". Could you also help me understand what the modulus actually means?
Okay, so like if I wanted to make a custom ability, say Arceus's multitype, then I would just
follow the if(pokemon.ability == ...) syntax and add in an item check, and if the item check
returns true, then i should make it change the sprite of the pokemon, right? And if I did manage to write a code for a new ability, how do i add it into the game? (I heard there were specifics spots you had to put it in for it to work)
And what code is the special case branching from? Is it the pokemon's battle struct or just pokemon struct?
Do you know the offsets for the ability name and description tables and how many bytes I need to copy in order to expand it, as well as where the pokemon structs and battle structs are stored. Also, the code for the ability "if(pokemon.ability == ABIL_NATURALCURE)
pokemon.status = 0;" would be stored in the battle struct, right?
You mentioned decompiling, could you show me how to do it so i can analyze codes myself?
Sorry for all the questions, I'm just a little bit frustrated about adding new abilities, because whenever I ask other members, they just say how hard it is or I need to know ASM
so this is really going to help since you're explaining in full detail. Thanks a bunch.
I couldn't find any other posts on ability editing, so what do you mean by ability checks? like does each pokemon have data with bits, like .PLAYER_DATA does in HackMew's tut, which if it does, is there a bit to tell which ability it has? (and what do you mean by special cases?)
Thanks! Now I got to go learn some ASM. Oh, and one more thing: is the ability table and description table expandable through a hex editor? is it just like copying it to free space and repointing it for both?
Hello! I was just wondering I you could help me(or at least get me started) on expanding the ability table of Pokemon Firered and adding new custom ones. I saw that MrDollSteak had made a rom base and gave you credit, so can you? XD I don't want to use his rom base because it has 5th gen moves also, and I don't want to be to dependent. Thanks! EDIT: Saw a previous post just after submitting this...so if you could teach me any required ASM to do this, I'll gladly learn it! XP
Awesome dude, thanks for the fast reply. In case of lazyness or just lack of time, I offer my complete help. I've got a good understanding of asm and thumb, have lots of free time and desire to learn. Good luck at speedhackin'!
Hello Mr Doesnt, I recently read about your proficiency at making new abilities as those featured in your hack and MrDrollSteack's rombase. I humbly ask if maybe you could make a post similar to Mr jambos51's new move and effect thread about abilities, explaining for example the awesome prankster code or technician. Im sorry if this may sound rude or over naive, as i've been only able to repoint and edit the names and descriptions of the original abilities. Big respect.
For some reason, no matter how much I search on google I cannot find your thread with the download link for your pokemon emerald physical/special split patch. Was the thread deleted, or what? If it's not there anymore, and as long as your allowed to, can you PM me the patch file?... or at least a link to the patch? Like I said, if something happened and your not allowed to post it, then don't worry about it. I just can't seem to find it any other way.
I think loading of the argument in the r2 is not working. Evolutions that don't compare the arguments still work, so I think that could be the problem. Are you sure your routines don't change the arguments? Or how the routine reads the evolution?