• 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

BluRose

blu rass
811
Posts
10
Years
  • I wish there was an ability editor that made this so much easier.
    that would be great--why not make one?

    but in all seriousness, all that it would really be able to edit would be the names. like there's not much that is absolutely set in stone about abilities; they are called within the battle code somewhere and aren't anything like moves with their battle scripts and such
     

    Panda Face

    Pokemon Ultra Snowy White
    127
    Posts
    7
    Years
    • Seen Oct 22, 2022
    What is the complied form of these:

    #include abilities.bsh

    #org @Main
    attackcanceler
    attackstring
    ppreduce
    jumpifabilitypresent ABILITY_CLOUDNINE @LimberCheck
    jumpifabilitypresent ABILITY_AIRLOCK @LimberCheck
    jumpifhalfword B_& 0x2023F1C 0x60 @LeafGuardCheck
    jumpifabilitypresenttargetfield 0xA7 @GrassTypeCheck
    goto @LimberCheck

    #org @LeafGuardCheck
    jumpifability BANK_TARGET 0x67 0x82D9362

    #org @GrassTypeCheck
    jumpiftype BANK_TARGET TYPE_GRASS 0x82D9F1C

    #org @LimberCheck
    jumpifability BANK_TARGET ABILITY_LIMBER 0x82D9362
    jumpifhalfword 0x0 0x202341A 0x4E @StunSpore
    goto @Paralyze

    #org @StunSpore
    jumpiftype BANK_TARGET TYPE_GRASS 0x82D9F2E

    #org @Paralyze
    jumpiftype BANK_TARGET TYPE_ELECTRIC 0x82D9F2E
    jumpifsecondarystatus BANK_TARGET 0x1000000 0x82D9F1C
    cmd6
    jumpifbyte B_& 0x202427C 0x29 0x82D9F1C
    jumpifstatus BANK_TARGET 0x40 0x82D9351
    jumpifstatus BANK_TARGET 0xFF 0x82D9F1C
    accuracycheck 0x82D9F1C 0x0
    jumpifhalverset BANK_TARGET 0x20 0x82DAD01
    attackanimation
    waitanimation
    setbyte 0x2024335 0x5
    seteffecttarget
    resultmessage
    waitmessage DELAY_1SECOND
    goto 0x82D8A4E
     

    AtecainCorp.

    Rejishan awake...
    1,377
    Posts
    15
    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:

    I try port this to Pokemon Ruby. And I found a lot of pointers. But... What is exacly to do with Battle Script for Snow Warming? I Try put it in place of Cacophony.
     
    3
    Posts
    6
    Years
    • Seen Oct 13, 2021
    Hi... I'm new in this forum... I would like to have abilities such as..: Customizable -Ate abilities (like Aerilate, Pixilate, Refrigerate, Galvanize, etc)(This Pokemon's Normal-type moves become [insert a type here] type and have 1.2x power.), Customizable "Rush" abilities like: Slush Rush, Chlorophyll, Sand Rush, Swift Swim, Contrary (If this Pokemon has a stat stage raised it is lowered instead, and vice versa.), Customizable "Worker" Abilities like Steelworker (This Pokemon's [insert type here]-type attacks have their power multiplied by 1.5.), Surge abilities from the Tapus (Electric Surge, Psychic Surge, etc) (also, i know that terrains aren't implemented in FR, so Just put like the Pok?mon with that ability has his [insert a type here] type moves boosted by 5 turns), Protean: (This Pokemon's type changes to match the type of the move it is about to use.), Sharp Claws (or something like that, I would prefer the name to be customizable) (This Pokemon's physical moves have their power multiplied by 1.3.) also, an ability called "Hyper Lens", wich is the same things as Tinted Lens but instead of Doubled, are Tripled: (This Pokemon's attacks that are not very effective on a target deal triple damage.) That's it for now :), I think this will be useful not just for me... a lot of people will aprecciate that abilites to put on their own hacks. TY!
     
    Last edited:
    12
    Posts
    7
    Years
    • Seen Sep 7, 2017
    Can someone please teach me, I tried all the abilities here but when I try it out, it just hangs or reset (well except for the Skill Link which is just some simple adding and editing in the hex(?)). I use emerald version but I'm hacking the one that is already PSS split from a video.

    Here the step I do from what I understand with an example of "Tangled Feet"
    1. Copy the code and paste it to notepad. save it as ASM file.
    2. Drag the ASM file to "thumb".
    3. Open the resulting file and the rom I'm hacking in the HxD.
    4. Copy and paste the bytes(?) of the resulting file on the free space of the rom
    5. (in the rom) Goto 468EC
    6. starting from that address, typed 00 49 08 47 xx xx xx 08 (xx xx xx with my own address)
    7. save it; open PGE and edit the pokemon which should have that ability.
    (I already expanded that ability table by the way)
    8. Try the pokemon with that ability and do what should be done to trigger the ability...

    Then BOOM, it did not work.
     
    794
    Posts
    10
    Years
  • Can someone please teach me, I tried all the abilities here but when I try it out, it just hangs or reset (well except for the Skill Link which is just some simple adding and editing in the hex(?)). I use emerald version but I'm hacking the one that is already PSS split from a video.

    Here the step I do from what I understand with an example of "Tangled Feet"
    1. Copy the code and paste it to notepad. save it as ASM file.
    2. Drag the ASM file to "thumb".
    3. Open the resulting file and the rom I'm hacking in the HxD.
    4. Copy and paste the bytes(?) of the resulting file on the free space of the rom
    5. (in the rom) Goto 468EC
    6. starting from that address, typed 00 49 08 47 xx xx xx 08 (xx xx xx with my own address)
    7. save it; open PGE and edit the pokemon which should have that ability.
    (I already expanded that ability table by the way)
    8. Try the pokemon with that ability and do what should be done to trigger the ability...

    Then BOOM, it did not work.

    Don't bother with that thread, it was good 2 years ago. If you hack Emerald, check out the battle engine in my signature and enjoy a new battle experience.
     
    12
    Posts
    7
    Years
    • Seen Sep 7, 2017
    Don't bother with that thread, it was good 2 years ago. If you hack Emerald, check out the battle engine in my signature and enjoy a new battle experience.

    Oh, so that's why there are lesser replies. But the problem is, I'm hacking an already changed emerald rom (if you search pss split emerald, the first video result in google is probably the one I'm changing right now, the one posted by Andrew Inoue in youtube); Will it still function properly?
     
    22
    Posts
    11
    Years
    • Seen Jun 14, 2020
    I'm trying to add Galvanize as a branch off of DollSteak's -Ate abilities, I figured I could do it by changing the type from Ice/Fairy/Flying to Electric (0xD).

    However it doesn't work, can anyone have a look and see what's wrong?

    Fire Red
    Spoiler:
     
    Last edited:

    pikachux2

    Never Evolve
    115
    Posts
    14
    Years
  • Hey, can anyone explain to me if I need to, or why I don't need to, point Abilities in PGE to some specific offset? Does the game just check the string representation of the ability to see if the Pokémon has it? Or am I missing the part where I somehow point it to the index of the ability in PGE?
     

    Skeli

    Lord of the Rings
    300
    Posts
    10
    Years
  • Hey, can anyone explain to me if I need to, or why I don't need to, point Abilities in PGE to some specific offset? Does the game just check the string representation of the ability to see if the Pokémon has it? Or am I missing the part where I somehow point it to the index of the ability in PGE?
    The ability names and descriptions and still stored in tables.
     

    pikachux2

    Never Evolve
    115
    Posts
    14
    Years
  • The ability names and descriptions and still stored in tables.

    Thanks, I understand that, but how is the actual effect of the ability called in battle? I can't find anyway to point the name of the ability to its corresponding effect. So the question is, do I have to?
     

    BluRose

    blu rass
    811
    Posts
    10
    Years
  • Thanks, I understand that, but how is the actual effect of the ability called in battle? I can't find anyway to point the name of the ability to its corresponding effect. So the question is, do I have to?
    individual abilities are each checked for in the battle engine as indexes.

    this next scene is a plausible way of it working

    so like take levitate
    let's say we have our latios with levitate
    earthquake is used by opponent
    game checks type of move used - returns ground
    game checks latios for ability - returns levitate
    compares it with levitate's index number
    branches off to levitate's battle message printing and zero damage done
    attack over
     

    pikachux2

    Never Evolve
    115
    Posts
    14
    Years
  • individual abilities are each checked for in the battle engine as indexes.

    this next scene is a plausible way of it working

    so like take levitate
    let's say we have our latios with levitate
    earthquake is used by opponent
    game checks type of move used - returns ground
    game checks latios for ability - returns levitate
    compares it with levitate's index number
    branches off to levitate's battle message printing and zero damage done
    attack over

    thanks perfect
     

    pikachux2

    Never Evolve
    115
    Posts
    14
    Years
  • One more thing, this line of code I've found at the end of each ability script,
    Spoiler:

    I assume I'm supposed to change those x's to something meaningful like a pointer, is that the case?
     

    Skeli

    Lord of the Rings
    300
    Posts
    10
    Years
  • One more thing, this line of code I've found at the end of each ability script,
    Spoiler:

    I assume I'm supposed to change those x's to something meaningful like a pointer, is that the case?
    Pointer to your asm routine +1.
     
    Last edited:
    16
    Posts
    10
    Years
    • Seen Jan 24, 2021
    Hey everyone, I'm new around here and would love to learn how write my own abilities. I've been reading up on ASM and battle scripts for the past couple days, but I am still not confident enough to begin to write anything of my own. I really want to implement a special type Fur Coat ability into my game. Could anyone supply me with the code and possibly explain how it works so that I can better learn how to do this myself?
    Thanks in advance!
     

    Lance Koijer 2.0

    Lance Koijer
    105
    Posts
    6
    Years
  • Hello guys the code of normalize and pixilate is still broken.

    Can anyone code Beast Boost?

    Thank you!

    I have replicated soul-heart already, the only problem when I was creating the ability is that the checking of the highest stat.. I'd tried to make an ASM that will compare each stats so whatver stat got the highest will increase. If someone can just make an ASM that will get the highest stat of a pokémon and store it somewhere, the ability would be possible.
     
    Last edited:
    Back
    Top