• 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

417
Posts
9
Years
  • Age 33
  • Seen Nov 20, 2016
Looked through to see if this was already requested but didn't find anything...

I was wondering if MissingNo's ability which really has no name could be implemented.
It would be interesting as the original from Red/Blue not only adds 128 of an item to your sixth item slot but also the sprite is determined by specific slots in the players name (I think it's the 3rd, 5th, 7th and also 8th-10th but the naming function only uses 7 characters and leaves the last 3 blank).

That's all I have for now though...
Thanks for your time and all the work you all put into this;
I understand if this is not priority or even done as you all have a lot on your plate already.
^_^
Handle it the same way as RBY :D on the set pokedex flag, add a check for the dex number of Missingno then add to item quantity. Idk which rom you're hacking, but you can find the dex flags routine in a pokedex expansion tutorial.
 
146
Posts
11
Years
  • CO
  • Seen Mar 16, 2023
Handle it the same way as RBY :D on the set pokedex flag, add a check for the dex number of Missingno then add to item quantity. Idk which rom you're hacking, but you can find the dex flags routine in a pokedex expansion tutorial.


Thank you azurile13 ^_^
I shall looking in that direction then when I have some time.
Been so busy haven't had any time to really research and focus on rom hacking...
Honestly I need to start practicing again even if just for a 30min to an hour, I hate coming back and having to relearn what I was learning before I took a break an having to refresh my memory on this I already once learned >_< ehh Life right... ^_^ Gotta love it!!!

Basically for Fire Red but I wouldn't mind one for Emerald as well so they could be trade able (not priority though).

Honestly what would you even call this Ability >_< hahahaha Rift??? hahaha I don't know

Anyway thank you for your time; Much appreciated!
 
130
Posts
8
Years
  • Age 28
  • Seen Jun 14, 2023
I'm not sure if it should be posted here or in the moves section, but I was wondering how the game decides if a move is sound based for Soundproof/Cacophony? If it's the ability, can someone clearly state how it works instead of hinting at it? And if it's for each move, is there an attack editor that changes what needs to be changed?
 

leyn09

Truant Trainer
84
Posts
12
Years
I'm not sure if it should be posted here or in the moves section, but I was wondering how the game decides if a move is sound based for Soundproof/Cacophony? If it's the ability, can someone clearly state how it works instead of hinting at it? And if it's for each move, is there an attack editor that changes what needs to be changed?

There is a table which Soundproof reads if an attack is a sound-based move. You can use 3GT Tool to modify if a move is a sound-based. Be informed that it has only limit and if you wish to expand it, you should look on how to repoint the table. I believe there is a tutorial about that.
 
130
Posts
8
Years
  • Age 28
  • Seen Jun 14, 2023
There is a table which Soundproof reads if an attack is a sound-based move. You can use 3GT Tool to modify if a move is a sound-based. Be informed that it has only limit and if you wish to expand it, you should look on how to repoint the table. I believe there is a tutorial about that.

Thank you so much. G3T actually allows one to repoint the table. A couple new moves I'm going to be adding will be sound based so it would mean a lot that they be treated as such. And now they can be :D
 
130
Posts
8
Years
  • Age 28
  • Seen Jun 14, 2023
After a quick glance I can't see anything obviously wrong with the logic. Did you follow the instruction telling you to put 01 48 00 47 00 00 xx xx xx 08 1A 4A at 01F1E2. Remember the offset has to be little-endian and plus 1 (since it's THUMB code). If you did this, I can only assume it's broken.

So.... Thank goodness I found this post. I had all of sturdy implemented but I didn't know to add the 1 to the offset.

I really wish the people who made these abilities said which ones need the +1 and which ones don't (I think KDS said when to +1). I had thought all of them needed the +1 but then I thought they didn't because the people didn't say.

Also, I think Protean is broken. I tried putting it into my hack but it would freeze every time I select a move, even if I didn't have Protean. Unless it was one of those +1 ones. In that case I didn't +1 (see what I mean....) (but I really want Protean to work since it could cover my new types). Speaking of new types. Does Protean account for expanded types? I managed to put Protean in and make it not freeze. It did need the +1.

But for those of us who know enough to put these in, but not enough to make them themselves, it would be nice to state +1 or not.

On that case, does the Normalize, Pixilate, Refrigerate, and Aerilate script need to be +1'd?

[EDIT] I think I found a little hiccup with the Pixilate section. It is highlighted.
Spoiler:

Now, I could be wrong an it could actually work right, since I don't know ASM enough to make my own scripts, but I just thought that number was wrong.
 
Last edited:
55
Posts
8
Years
  • Age 28
  • Seen Dec 2, 2021
forgive my stupidity, but even after looking through this thread and all the resources, I'm stuck on where or how you would make the game call a routine after inserting it. I'm interested in just replacing a few old abilities with new ones, and i've successfully (as far as i know) stuck a new ability routine in empty space, but from there i can't find a single way forward. if anyone could point me in the right direction i'd very much appreciate it!
 

BluRose

blu rass
811
Posts
9
Years
forgive my stupidity, but even after looking through this thread and all the resources, I'm stuck on where or how you would make the game call a routine after inserting it. I'm interested in just replacing a few old abilities with new ones, and i've successfully (as far as i know) stuck a new ability routine in empty space, but from there i can't find a single way forward. if anyone could point me in the right direction i'd very much appreciate it!

there is literally no reason to replace an old ability with a new one, and is literally a lot harder (if not impossible) than you think it is. the way abilities are handled is way different than moves. abilities happen when the battle engine checks for it in various places, i.e. the damage calculator handles overgrow, torrent, blaze, and swarm, while the accuracy check handles sand veil. inserting new abilities is way easier than replacing old ones, so i strongly suggest you do that instead. so, this new ability routine probably had a few byte changes telling you how to do it. (the updated sturdy, for example, has you placing 01 48 00 47 00 00 xx+1 xx xx 08 1A 4A at 01F1E2). xx+1 xx xx refers to the address at which you put the routine +1 in little endian format.
 
55
Posts
8
Years
  • Age 28
  • Seen Dec 2, 2021
there is literally no reason to replace an old ability with a new one, and is literally a lot harder (if not impossible) than you think it is. the way abilities are handled is way different than moves. abilities happen when the battle engine checks for it in various places, i.e. the damage calculator handles overgrow, torrent, blaze, and swarm, while the accuracy check handles sand veil. inserting new abilities is way easier than replacing old ones, so i strongly suggest you do that instead. so, this new ability routine probably had a few byte changes telling you how to do it. (the updated sturdy, for example, has you placing 01 48 00 47 00 00 xx+1 xx xx 08 1A 4A at 01F1E2). xx+1 xx xx refers to the address at which you put the routine +1 in little endian format.

after this i was still puzzled about the implementation until i realized that the routines themselves were checking if the pokemon had the ability. and now it works! thanks very much!
 
325
Posts
9
Years
Here's the other half of Sand Rush

SAND FORCE, SAND RUSH, IRON FIST, SHEER FORCE, STRONG JAW, MEGA LAUNCHER, TOUGH CLAWS, RECKLESS [FR]
Spoiler:
Tell me if you find any bugs please.

~EDIT~ and then i forgot that reckless and tough claws existed. oops. i fixed that, it was easy, assuming you edited the battle script for the jump kicks, take down, and double edge for brave bird and the like. which you should, because otherwise the AI won't use it right.
 
Last edited:
130
Posts
8
Years
  • Age 28
  • Seen Jun 14, 2023
I think the Ate abilities are broken. I tried on a clean Fire Red rom and Scratch did not change to the type I specified and did not change effectiveness to the type it should have changed to.

Spoiler:
 

AkameTheBulbasaur

Akame Marukawa of Iyotono
409
Posts
10
Years
I think the Ate abilities are broken. I tried on a clean Fire Red rom and Scratch did not change to the type I specified and did not change effectiveness to the type it should have changed to.

Spoiler:

I can verify that the Type Changing portion does indeed work. I don't know exactly what you did, but something must have gone wrong with the ability checking part. I haven't tested the ability buffer part (I ported the ability to items instead so I used a different check).
 
130
Posts
8
Years
  • Age 28
  • Seen Jun 14, 2023
I can verify that the Type Changing portion does indeed work. I don't know exactly what you did, but something must have gone wrong with the ability checking part. I haven't tested the ability buffer part (I ported the ability to items instead so I used a different check).

You wouldn't happen to know what I should do? It most likely is the ability buffer portion since you say you got it to change type by a different check. I really want to get these to work.
 
55
Posts
8
Years
  • Age 28
  • Seen Dec 2, 2021
in some routines it's stated "#Insert 00 48 00 47 XX+1 XX XX 08 at 08042F94", or similar. i get what that means in general, but "08042F94" is a hex address way outside of the rom's scope (it only goes up to 00FFFFFF)! any suggestions here?
 

electicario

Random Aura Sphere and Thunderpunch user
11
Posts
9
Years
in some routines it's stated "#Insert 00 48 00 47 XX+1 XX XX 08 at 08042F94", or similar. i get what that means in general, but "08042F94" is a hex address way outside of the rom's scope (it only goes up to 00FFFFFF)! any suggestions here?

Actually, you should insert what's in the comments at offset 042F94. The '08' only means that this offset is in the ROM, as far as I know at least {XD}
 
325
Posts
9
Years
in some routines it's stated "#Insert 00 48 00 47 XX+1 XX XX 08 at 08042F94", or similar. i get what that means in general, but "08042F94" is a hex address way outside of the rom's scope (it only goes up to 00FFFFFF)! any suggestions here?
electricario is correct. The ROM is actually split into various sections of memory, and the ROM is the ninth. The first is the BIOS, or the actual GameBoy, and everything in between is different kinds of memory. Check out this link to check how the memory is arranged.
 

AkameTheBulbasaur

Akame Marukawa of Iyotono
409
Posts
10
Years
All fixed!

I've actually made Simple now! I'll also update this post to include Contrary in the future!

Simple

Spoiler:

I'm not sure if it's just me, but I couldn't get this to work right. The game soft locks when a Pokemon's stats change by one stage. It displays the message and then stays on that screen. Music still plays but no buttons work. The rest of it works fine, it's only when it lowers or raises by one stage that gives me problems.
 

MrDollSteak

Formerly known as 11bayerf1
858
Posts
15
Years
I'm not sure if it's just me, but I couldn't get this to work right. The game soft locks when a Pokemon's stats change by one stage. It displays the message and then stays on that screen. Music still plays but no buttons work. The rest of it works fine, it's only when it lowers or raises by one stage that gives me problems.

I believe it is because you don't have the Pokemon Battle Message extension enabled. KDS and HidoranBlaze and myself have all got different versions posted on the website somewhere.
 
Back
Top