• 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
  • Age 25
  • 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
  • Age 33
  • 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
  • Age 25
  • 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
  • Age 25
  • 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