• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Code: Ability Resource Thread

ShyRayq

Unprofessional Unprofessional
1,856
Posts
16
Years
    • Seen Apr 2, 2024
    hello. i just wanna ask how to properly implement a new ability.

    i'm kind of new to asm hacking and so far i think i'm doing well (just a thought, though)
    i successfully added some into my rom like the BW2 Repel system, gain-exp-on-catch, fix sturdy, color codes on nature and IV indicator. since i've done it pretty well i just thought maybe i'd try adding a new ability.

    the ability i was trying to add is this protean:

    because greninja is a thing, but whenever i tried to use it on battle, it doesn't work.

    now the problem is, when i paste this ( 00 49 08 47 01 7B 77 08 ) to 1D7D8 (as instructed) nothing happens. i tried to not to add 1 on the "00" (last) part of the hex where i insert the asm but the screen just stuck after an attack. then i even tried not to reverse the hex and it called a rain, then crash >___<

    the part (offset?) where i inserted the asm was on 777B00. i can't really figure out where did i got it wrong, but i really want to learn how to add it because it's a good feature. i hope someone could tell me my mistake. and lastly, sorry for a long reply, plus the bad english since it's not my mother language.

    ps: i'm using mrds patch

    Okay, I'm not really good at ASM, but I picked up a few things.
    1st, in the ASM code, there is a section near the start called 'Proteancheck'.
    In this section there's a bit of code that says:
    cmp r0, #0xA9.
    The A9 represents the index for the ability Protean in the table of abilities. This will not be exactly the same as in your rom. Assuming this is the only ability you have added, it should be 0x4E.
    If you have added more, then it should be 0x4D + NN + 0x01 where NN is the number of abilities you have added before protean in hex.

    2nd, I believe there is a string that prints that the user has changed type that you have to insert as well, but I'm not entirely sure.
     
    39
    Posts
    7
    Years
  • Okay, I'm not really good at ASM, but I picked up a few things.
    1st, in the ASM code, there is a section near the start called 'Proteancheck'.
    In this section there's a bit of code that says:
    cmp r0, #0xA9.
    The A9 represents the index for the ability Protean in the table of abilities. This will not be exactly the same as in your rom. Assuming this is the only ability you have added, it should be 0x4E.
    If you have added more, then it should be 0x4D + NN + 0x01 where NN is the number of abilities you have added before protean in hex.

    2nd, I believe there is a string that prints that the user has changed type that you have to insert as well, but I'm not entirely sure.



    i see. so it's a lot more complicated than i thought. thanks for telling me. ill try it again and see if ill be able to do it. thanks for the tips!
     
    Last edited:

    Zervais

    Island Kahuna
    258
    Posts
    7
    Years
  • Is there a routine for Multitype and Judgement around? I think there's an Arceus form change somewhere but I'd like to know if anyone has a fully working version of him, as he should be, Judgement and all.
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • I'm trying to duplicate Victory Star

    Will this code work?
    Spoiler:


    The bolded lines indicate my additions. Let's say C1 is the ability index, will this work?
     
    325
    Posts
    10
    Years
  • I'm trying to duplicate Victory Star

    Will this code work?
    Spoiler:


    The bolded lines indicate my additions. Let's say C1 is the ability index, will this work?

    I don't see why not, yeah.
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • Here's Snow Warning for Fire Red! I'll update this and port it to Emerald. I'm going to edit it slightly in the future to account for the new weather abilities too that Kleenex has already written routines for.

    Snow Warning

    Spoiler:

    Hello I tried editing the Snow warning Routine in your Rom Base which is located at 0x8909990
    Code:
    08 78 2D 28 01 D1 10 4A 10 47 6F 28 01 D0 0F 4C 20 47 0F 4A 11 88 80 20 08
    40 00 28 01 D0 00 F0 0D F8 80 20 10 80 0B 4A 00 20 10 70 0A 48 00 F0 07 F8
    0A 48 51 46 C1 75 00 F0 04 F8 08 4C 20 47 08 4A 10 47 08 48 00 47 AD A2 01
    08 49 A1 01 08 1C 3F 02 02 48 3F 02 02 D0 9A 90 08 C4 3F 02 02 AB BB 01 08 
    25 BC 01 08 5B BB 01 08

    I added 8B 28 03 D0 which adds these lines
    Code:
    	cmp r0, #0x8B @8B is the index ID of Snow Warning Duplicate
    	beq SnowWarning

    so the code is now:
    Code:
    08 78 2D 28 01 D1 10 4A 10 47 6F 28 01 D0 [B]8B 28 03 D0[/B] 0F 4C 20 47 0F 
    4A 11 88 80 20 08 40 00 28 01 D0 00 F0 0D F8 80 20 10 80 0B 4A 00 20 10 70 
    0A 48 00 F0 07 F8 0A 48 51 46 C1 75 00 F0 04 F8 08 4C 20 47 08 4A 10 47 08 
    48 00 47 AD A2 01 08 49 A1 01 08 1C 3F 02 02 48 3F 02 02 D0 9A 90 08 C4 3F 
    02 02 AB BB 01 08 25 BC 01 08 5B BB 01 08

    I gave Chirpich (my ideamon) an Ability Snow Warning and Draciate(Don't mind the Draciate name, that's not its effect, just for a test) and capture two Chirpichs with Snow Warning and Draciate Ability. However, instead of "Chirpich's Snow Warning made it hail!", the text appears as "Chirpich's Draciate made it hail!" even though that Chirpich has Snow Warning Ability.

    I provided 2 videos below.
    The first one shows the success of Draciate but the second one fails.





    Can anyone here help me with this?
     
    Last edited:

    Froosty

    The_Learner
    535
    Posts
    9
    Years
  • There was a report mentioning problems with the Magic Bounce Ability in MrDS's Rombase, so I decided it to implement this myself from scratch, and it is working fine in Trainer Battles and Doubles.
    Here it is posted with Moxie.

    Magic Bounce
    Spoiler:


    Moxie
    Spoiler:


    Also, these require Jambo's Callasm and Setword commands, and his Battle String Loader Hack.

    I expanded the table...
    I think it has f7(starting from 00) commands.... so I inserted the jambo's callasm at f8 and setword command at f9 is it ok ????
    also
    1E 01 9A YY YY YY 08
    what about that underlined 9A
    do it needs to be changed or is something special there ???

    hoping to get answer :)
     

    Trainer 781

    Guest
    0
    Posts
    I expanded the table...
    I think it has f7(starting from 00) commands.... so I inserted the jambo's callasm at f8 and setword command at f9 is it ok ????
    also
    1E 01 9A YY YY YY 08
    what about that underlined 9A
    do it needs to be changed or is something special there ???

    hoping to get answer :)

    Yes, its good to go.
    9A is the ability index for moxie. So if you have an index other than 9A for moxie then you will have to change this.
     
    50
    Posts
    9
    Years
    • Age 30
    • Seen Jan 18, 2017
    Sorry for my ignorance but I wanted to know if it has already opened a new post for the 7th skills, if I am annoying sorry, it is not my intention.
     
    39
    Posts
    7
    Years
  • To start off here are a few damage-calc related abilities as well as an update Sturdy effect!

    These abilities require Doesnt's PSS Split, because of a few shifting bytes.

    Sniper, Technician, Defeatist and the Slow Start Attack Drop
    Spoiler:

    Toxic Boost and Flare Boost
    Spoiler:
    Multiscale and Fur Coat
    Spoiler:
    Sturdy
    Spoiler:

    False Swipe no longer works after I put Sturdy {D:}
     
    9
    Posts
    7
    Years
    • Age 21
    • Seen Jan 7, 2017
    Help!
    I really want to add protean to fire red.
    Sorry i'm bad at this stuff and i need an easy tutorial for beginners like me.
     
    Last edited:
    22
    Posts
    7
    Years
    • Age 20
    • Seen Feb 28, 2022
    Hey guys! I am finding it hard to insert the abilities in my ROM is there any one who could be willing to help out? I expand the Ability Table and then insert the ASM then what do i Have to do ??? I dont want to rely on MrDs' Patch (no offence) as it is not dynamic...
     

    BluRose

    blu rass
    811
    Posts
    10
    Years
  • Hey guys! I am finding it hard to insert the abilities in my ROM is there any one who could be willing to help out? I expand the Ability Table and then insert the ASM then what do i Have to do ??? I dont want to rely on MrDs' Patch (no offence) as it is not dynamic...
    insert the asm routines and make the necessary byte changes, and all should be outlined in the post :P

    edit: and mrds' patch is rather fine to use unless if you're using that space starting at 0x900000
     
    22
    Posts
    7
    Years
    • Age 20
    • Seen Feb 28, 2022
    insert the asm routines and make the necessary byte changes, and all should be outlined in the post :P

    edit: and mrds' patch is rather fine to use unless if you're using that space starting at 0x900000

    Thanks they are working... :)
     
    17
    Posts
    9
    Years
    • Age 30
    • Seen Sep 3, 2023
    Skill Link

    Spoiler:

    Having a problem with this one - all multi-hit moves are hitting five times 100% of the time, even if the user does not have Skill Link. I figured maybe the 5D in the first script was just taken from the "default" index for Skill Link, and I changed that to the index of what it is in my hack, but no dice. Is there something else I need to do?

    EDIT: Nevermind!! What I had accidentally done was, when replacing the pointers, I replaced the one in the second script by mistake. Working fine now.
     

    Chaotix

    Love to test
    59
    Posts
    17
    Years
    • Age 34
    • Seen Jan 11, 2020
    There was a report mentioning problems with the Magic Bounce Ability in MrDS's Rombase, so I decided it to implement this myself from scratch, and it is working fine in Trainer Battles and Doubles.
    Here it is posted with Moxie.

    Magic Bounce
    Spoiler:


    Moxie
    Spoiler:


    Also, these require Jambo's Callasm and Setword commands, and his Battle String Loader Hack.

    Not sure why I am having a tough time getting Moxie to work. When I KO a pokemon in the wild the attack boost animation plays then the game gets stuck there.

    I put the pointer to where I inserted script XXXXXX at 0x08213DC;
    changed the ability index to 4E from 9A since I only added Moxie;
    added callasm to the command table at F8;
    added battle string loader exactly as Jambo posted it here https://www.pokecommunity.com/showpost.php?p=7101031&postcount=230 do I need to change it at all?;
    added setword command KDS posted on page 3 and added a pointer to it at FA in the command table.

    What could be wrong?

    Edit: For Fire Red
     

    Trainer 781

    Guest
    0
    Posts
    Not sure why I am having a tough time getting Moxie to work. When I KO a pokemon in the wild the attack boost animation plays then the game gets stuck there.

    I put the pointer to where I inserted script XXXXXX at 0x08213DC;
    changed the ability index to 4E from 9A since I only added Moxie;
    added callasm to the command table at F8;
    added battle string loader exactly as Jambo posted it here https://www.pokecommunity.com/showpost.php?p=7101031&postcount=230 do I need to change it at all?;
    added setword command KDS posted on page 3 and added a pointer to it at FA in the command table.

    What could be wrong?

    Edit: For Fire Red
    Code:
    FB 20 E3 03 02 SS SS SS 08
    have you changed the FB to FA here?
     
    Back
    Top