• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Red, Hilda, Paxton, or Kellyn - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • 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.

[ASM & Hex] Creating a New Ability in CFRU

  • 11
    Posts
    4
    Years
    • Seen Nov 15, 2021
    So I am trying to add some new abilities to the engine. I'm not too worried about the coding, I can handle that. However, in the documentation (pg. 138) step 1 says to add the ability at the end of include/constants/abilities.h, but the ability list is already at size 0xFE. Is there an issue if I just expand it to 0xFF, then 0x100, 0x101, etc?

    My next question is about step 4. It says to add a pointer to the description I just made in step 3. I took a look at the files, and saw that most of the pointers are just a bunch of addresses in hex. How can I find out the address of the description that I made so I can include it?

    Thanks in advance!
     
    So I am trying to add some new abilities to the engine. I'm not too worried about the coding, I can handle that. However, in the documentation (pg. 138) step 1 says to add the ability at the end of include/constants/abilities.h, but the ability list is already at size 0xFE. Is there an issue if I just expand it to 0xFF, then 0x100, 0x101, etc?

    My next question is about step 4. It says to add a pointer to the description I just made in step 3. I took a look at the files, and saw that most of the pointers are just a bunch of addresses in hex. How can I find out the address of the description that I made so I can include it?

    Thanks in advance!

    - It shouldn't hold an issue, no.
    - Go to the end of the file assembly/data/ability_description_table.s and add ".word DESC_<YOUR_ABILITY>".

    And make sure the index's match!
     
    Hi, so I'm trying to do the same thing you were doing. And likewise I have no trouble coding them, but I'm stuck at 0xFF. I have an ability that affects damage calculations, but when I run make.py, it tells me "that the comparison is always false due to limited range of data type", which I assume has to do with the datatype only allowing for 256 entries. Then when I give a pokemon the ability at 0x100, it shows it's ability as "No special ability".

    So I'm hoping that someone can help me solve this, I think either I did something wrong, or the datatype could be adjusted, since the Moves Table can reach past 0xFF, but I don't know how or where to accomplish this.

    I hope you can help me with this.
     
    My guess is that you need to replace all instances of ability being stored as an 8-bit variable with a larger data type.

    Yeah, I've been trying to figure out how to do this for a some time now, though I can't seem to find where to start even.
     
    Yeah, I've been trying to figure out how to do this for a some time now, though I can't seem to find where to start even.

    its not possible in CFRU, there is no way to add more abilities and have the game recognize them.

    The only thing you can do is replace existing abilities.
     
    its not possible in CFRU, there is no way to add more abilities and have the game recognize them.

    The only thing you can do is replace existing abilities.

    Ah well that does it then, luckily I'm not far into coding stuff, so I'll switch to Pokemon Essentials instead. It's a shame though, I would've like to make a rom out of my hack, but alass. Thanks for telling me, at least I won't be wasting anymore time now.
     
    Ah well that does it then, luckily I'm not far into coding stuff, so I'll switch to Pokemon Essentials instead. It's a shame though, I would've like to make a rom out of my hack, but alass. Thanks for telling me, at least I won't be wasting anymore time now.

    If you really want to make a romhack, you could try using the decomps.
    DizzyEgg's Battle Engine Upgrade has expanded abilities past 255.
     
    Back
    Top