• 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!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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.

Help Thread: Quick Questions & Answers

Status
Not open for further replies.
I am working on a HGSS hack and I've a few questions.

Is there a list of the trainers that ppre displays so I can see what number each trainer is instead of searching all 800 names for the one I want?
 
Are there any tutorials that focus on how to add new abilities into Emerald? I've tried googling for one, but only came up with a request thread over at PHO. What I want to know is the procedure for adding the name, description, etc. and assigning it to a Pokemon so that it can be tested.
 
Are there any tutorials that focus on how to add new abilities into Emerald? I've tried googling for one, but only came up with a request thread over at PHO. What I want to know is the procedure for adding the name, description, etc. and assigning it to a Pokemon so that it can be tested.

Abilities in Gen 3 are handled almost exclusively by ASM. There's a name and description table but there's no "effects" table. All of the routines are hooked into the battle engine and run off of each other etc, creating a complex ability network.
 
Abilities in Gen 3 are handled almost exclusively by ASM. There's a name and description table but there's no "effects" table. All of the routines are hooked into the battle engine and run off of each other etc, creating a complex ability network.
Assuming that both tables are expanded, how would I go about adding new names and descriptions? And how do I "assign" one to a Pokemon in the game? (ie something like Dodrio with Tangled Feet)
 
Assuming that both tables are expanded, how would I go about adding new names and descriptions? And how do I "assign" one to a Pokemon in the game? (ie something like Dodrio with Tangled Feet)

You just append the new ability names and descriptions to the end of the table, then assign the new index to the Pokémon. Your ability will do nothing though (since there's no ASM to deal with it at all)
 
You just append the new ability names and descriptions to the end of the table, then assign the new index to the Pokémon. Your ability will do nothing though (since there's no ASM to deal with it at all)
Thanks for clarifying Gogo! :) There are more questions I want to ask, but it looks like this topic isn't fitted for Quick Q&A.
 
Immediately after the image, at 0xE832C0. Both genders use the same one.



Unfortunately, that only lets you change the Charizard and Nidoran's cries, unless I'm missing something.

Oh gosh sorry I thought Nidorino was a typo X3X. diego's tool is only for Charizard and Nidoran's cries.
 
Immediately after the image, at 0xE832C0. Both genders use the same one.



Unfortunately, that only lets you change the Charizard and Nidoran's cries, unless I'm missing something.

I think that's just part of the song, rather than a cry itself. I could be wrong, but I didn't see the cry function being called besides for Charizard in the titlescreen sequence and sequence prior. It might be the song.
 
I think that's just part of the song, rather than a cry itself. I could be wrong, but I didn't see the cry function being called besides for Charizard in the titlescreen sequence and sequence prior. It might be the song.

I tried replacing the song, but the cry still plays regardless. For now, I've just blanked out part of Nidorino's animation data so no cry plays at all.
 
I tried replacing the song, but the cry still plays regardless. For now, I've just blanked out part of Nidorino's animation data so no cry plays at all.

Oh let me see the offsets, perhaps I just missed it.

EDIT:

OK, I found it. It was disguised in the OAM animation part of the routine (or so I previously thought). Anyways, at 0xEE646 there is a 0x21. Change that byte. Careful, it's set using mov r0, #0x21 (which means the next byte is not something you can safely write to without modifying the routine). Keep the species ID from 0x0 to 0xFF.
 
Last edited:
OK, I found it. It was disguised in the OAM animation part of the routine (or so I previously thought). Anyways, at 0xEE646 there is a 0x21. Change that byte. Careful, it's set using mov r0, #0x21 (which means the next byte is not something you can safely write to without modifying the routine). Keep the species ID from 0x0 to 0xFF.

Thanks FBI, you're a treasure.
 
I'm working on Emerald 650 ROM Base and it seems I've got a problem with offset space.
Everytime I write a script to the ROM it ruins some of the Pokèmon sprites I can see using UnLZ. I noticed that the script offset and the sprite offset are very similar and so I guess it somehow overwrites it.
That's my question: may I use something like #dynamic 0x100000/0xA00000/etc at the beginning of the script to find a different free space or will I worsen everything?
And anyway, is there any other way to solve my problem? Thanks to all
 
I'm working on Emerald 650 ROM Base and it seems I've got a problem with offset space.
Everytime I write a script to the ROM it ruins some of the Pokèmon sprites I can see using UnLZ. I noticed that the script offset and the sprite offset are very similar and so I guess it somehow overwrites it.
That's my question: may I use something like #dynamic 0x100000/0xA00000/etc at the beginning of the script to find a different free space or will I worsen everything?
And anyway, is there any other way to solve my problem? Thanks to all

Yes you can do basically any freespace you want.
When i was using the patch I used 0xB00000 and ran into no issues with overwriting anything.
 
Yes you can do basically any freespace you want.
When i was using the patch I used 0xB00000 and ran into no issues with overwriting anything.
Well I've just tried but using 0xB00000 it made a mess with the blocks of the map! (Some of them went black, other were mixed)
Any other idea?
 
Well I've just tried but using 0xB00000 it made a mess with the blocks of the map! (Some of them went black, other were mixed)
Any other idea?

Did you make sure to use a dynamic offset and not just set your offset to 0xB00000? Also another thing you can do is go into the rom bia hex editor and change the unsed expanded bytes to 0xFF instead of 0x00. Then in xse do #freespace 0xFF after your dynamic offset command.
 
Yeah I used the #dynamic... Anyway I noticed that the standard blocks' offsets are around 390000 while the new blocks I insert are around B00000 (so I guess that explains the error, I will restart everything hoping it'll work).
I'm afraid I didn't understand what you said in the last part (I'm still not very expert on what regards hex), if you have time and will of course, would you mind explain it to me? If you don't no problem, you've already helped me a lot so thank you very much!
 
It appears that Gen 3 save editors don't support expanded ability tables. Does anyone know how to change the ability index assigned to each party Pokemon? I need this in order to test new abilities.
 
Status
Not open for further replies.
Back
Top