• 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.

Quick Research & Development Thread

[FR] A friend told me he figured out how to switch between world maps in the fly menu in Fire Red, just like the town map menu.
This allows you to fly between the world maps.

Just replace the first two bytes at 0xC004C with 00 00, this will make the switch button appear above the cancel button.

He hasn't fully checked for possible bugs, however he believes there is none.

Edit: The switch button works exactly the same way as the town map one, meaning you must unlock it first.
 
Last edited:
Remove Mail Data from Items [FR]

Hello Everyone,

I started the process to remove Mail items from my game, and I noticed something odd. Even when removing all of the Mail data from the items, and essentially turning them into held items, the game still recognized them as Mail.

I'm assuming there is a table somewhere with these. Using the link below, I have looked through the hex to try to find any errors with the program I was using to edit:

Item Data Structure Gen III

[S-HIGHLIGHT]C0 E9 E6 00 CA D5 E8 D7 DC FF E9 E6 FF 00 82 00 F4 01 00 00 60 6B 3D 08 00 00 01 04 39 22 0A 08 00 00 00 00 00 00 00 00 00 00 00 00[/S-HIGHLIGHT]

This is the item below. Nothing in here links back to mail, however it still displays the mail icon, etc. I have also tried also searching for a table, unfortunately with no luck.

[PokeCommunity.com] Quick Research & Development Thread
[PokeCommunity.com] Quick Research & Development Thread
[PokeCommunity.com] Quick Research & Development Thread

EDIT:

Placing [S-HIGHLIGHT]C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46[/S-HIGHLIGHT] at 980FA will completely remove the check for Mail Items making these act as normal items. (Items 0x79 - 0x84 will then be cleared up and function as standard items)

Credits to Skeli for finding this. (Thank you man!)
 
Last edited:
gen vi exp share system (em):

4A4BE - 02 21
4A594 - 01 22
4A634 - 01 20

ok this should be finalized
no more crap from me ahaha

This may be a old post but I have a problem

It works but all the other Pokemon get 0 exp
 
This may be a old post but I have a problem

It works but all the other Pokemon get 0 exp
like it awards them the exp but then you look at it outside of the battle, and it shows that no pokemon were awarded exp?
 
like it awards them the exp but then you look at it outside of the battle, and it shows that no pokemon were awarded exp?

no, it shows (inside the battle) that the others than the ones you used got 0 exp.
but it did show that it got exp just it sayed 0.
 
Remove Mail Data from Items [FR]

Hello Everyone,

I started the process to remove Mail items from my game, and I noticed something odd. Even when removing all of the Mail data from the items, and essentially turning them into held items, the game still recognized them as Mail.

I'm assuming there is a table somewhere with these. Using the link below, I have looked through the hex to try to find any errors with the program I was using to edit:

Item Data Structure Gen III

[S-HIGHLIGHT]C0 E9 E6 00 CA D5 E8 D7 DC FF E9 E6 FF 00 82 00 F4 01 00 00 60 6B 3D 08 00 00 01 04 39 22 0A 08 00 00 00 00 00 00 00 00 00 00 00 00[/S-HIGHLIGHT]

This is the item below. Nothing in here links back to mail, however it still displays the mail icon, etc. I have also tried also searching for a table, unfortunately with no luck.

[PokeCommunity.com] Quick Research & Development Thread
[PokeCommunity.com] Quick Research & Development Thread
[PokeCommunity.com] Quick Research & Development Thread

EDIT:

Placing [S-HIGHLIGHT]C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46[/S-HIGHLIGHT] at 980FA will completely remove the check for Mail Items making these act as normal items. (Items 0x79 - 0x84 will then be cleared up and function as standard items)

Credits to Skeli for finding this. (Thank you man!)

Remove Mail Data from Items [Ruby]

A2F2E: C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46 C0 46
 
Last edited:
Adding New Evolution Methods[Ruby]

Spoiler:


Routine by FamiliaWerneck:

Spoiler:


Male:

Spoiler:


Female:

Spoiler:


Move:

Spoiler:
 
Last edited:
EV-enhancing items (Power Items)[Ruby]
[/SIZE]

The routine now does not require any new Held Effect Item Byte. The new power items are tied to Macho Brace's Held Item Effect Byte. (Thanks to MrDollSteak for giving the idea.)
The type of EV gain is now differentiated by the Second Held Effect Byte (the byte just after the Primary Held Effect Byte in the Item Table).
There is no need to code the Speed Drop explicitly for Power Items.

Usage is now like this by using the following parameters in the Item Table:
Primary Byte | Secondary Byte | Item Name
0x18 | 0x0 | Macho Brace
0x18 | 0x1 | Power Weight
0x18 | 0x2 | Power Bracer
0x18 | 0x3 | Power Belt
0x18 | 0x4 | Power Anklet
0x18 | 0x5 | Power Lens
0x18 | 0x6 | Power Band

Also, there are additional byte changes mentioned in the Spoiler to limit the EVs for each stat from 255 to 252 to avoid wastage of EVs by normal battling.

For Ruby:

Spoiler:
 
Last edited:
I don't know if this has been posted before, but whatevs. It came to my attention today that the bag in FireRed crashes if a "main" pocket has more than 42 items (the normal max for regular items). I had always assumed the malloc was done based on a multiple of the numbers inputted at the routine beginning 0x08099E44, because the TM pocket works fine even with over 100 items, but apparently the berry/TM cases mean they run off of something different. Anyhow, to allow for sufficient malloc requests, change ".equ largest_pocket_size" to your new max and insert this:
Spoiler:
EDIT: I haven't done much testing. I've only thrown like 60 items into the general items pocket before I got bored & assumed this routine was the only problem.

Info on 0x08099E44: https://www.pokecommunity.com/posts/9014911/
Does this modification have any notable side effects? And what limits does it have? I can't imagine that it's a no-strings-attached enhancement. The more in-depth bag expansion codes in the ASM Resource Thread either take over space dedicated for the "Previously" system or rewrite the save function altogether to utilize JPAN's Save Block Recycle hack.
 
Hi everyone, I got a quick question I'm sure after all these years you might have an answer. I'll try to make it as small as possible. Here it is:

I wanna be able to give whatever pokemon I choose to a person and or whatever is on my top slot, and that person will give me another one right back. For example, I want to give a person my charizard and I want that person to give me back another Charizard with obviously different stats, I have an idea on how to implement it on my hack, i just dont know how i could script it or what or which vars to use. Thanks guys
 
The newdex order in Crystal(U) is at offset 40D60.

Here is a fuller list, I don't think I've missed any:
Spoiler:
 
Last edited:
Disable "The Pokemon Stopped Evolving." [FR]

FR has a feature that if you attempt to evolve a Pokemon into something not in the Kanto Dex (and you don't have the National Dex), it will mysteriously stop evolving. You could just give the player the National Dex at the beginning of the game, but if you don't want to do that, you can easily disable this.

Basically, this will turn some conditional jumps into unconditional jumps, and remove some checks. No free space required.

Code:
0x08043156: 02 E0
0x080CE90C: 1C E0
0x080CF566: 17 E0
0x08126C26: C0 46 C0 46 C0 46 C0 46
0x08126C4C: 08 E0

The code explaining the above byte changes is:

Spoiler:


Hey, I'm new at coding and whilst making a minor edit hack for Pokemon Leaf Green, I had a few questions regarding this; Firstly, and this might be a dumb question, am I able to simply change out the text from firered to leafgreen? Secondly, where would I put this script? I've only writen one script and have had only a few days of experience in writing scripts. Thank you in advance ~
 
Disable "The Pokemon Stopped Evolving." [FR]

FR has a feature that if you attempt to evolve a Pokemon into something not in the Kanto Dex (and you don't have the National Dex), it will mysteriously stop evolving. You could just give the player the National Dex at the beginning of the game, but if you don't want to do that, you can easily disable this.

Basically, this will turn some conditional jumps into unconditional jumps, and remove some checks. No free space required.

Code:
0x08043156: 02 E0
0x080CE90C: 1C E0
0x080CF566: 17 E0
0x08126C26: C0 46 C0 46 C0 46 C0 46
0x08126C4C: 08 E0

The code explaining the above byte changes is:

Spoiler:


Hey, I'm new at coding and whilst making a minor edit hack for Pokemon Leaf Green, I had a few questions regarding this; Firstly, and this might be a dumb question, am I able to simply change out the text from firered to leafgreen? Secondly, where would I put this script? I've only writen one script and have had only a few days of experience in writing scripts. Thank you in advance ~

It's not a script, it's ASM written for armips. But beyond that, I wasn't expecting people to literally assemble the code with armips, you would just make the listed byte changes in a hex editor (the armips code does exactly those byte changes); it was just there as an explanation and documentation.

LG's offsets are not the same as FR. To port it from FR to LG, you'd have to find the LG equivalent of each FR offset listed (0x08043156, 0x080CE90C, etc). I don't know the LG equivalents, and I have no inclination to look them up. Nobody hacks or researches LG because there's really no point; you could turn FR into a clone of LG with minimal effort and from a gameplay perspective that'd be identical but you're not needlessly handicapping yourself by actually starting from LG. If you want to use a Kanto-based game as your base, I strongly advise that you use FR.
 
Last edited:
Alright, Thank you for responding. Truth be told, I just had the LG ROM already on my computer and wanted to mess around with it, I didn't know the two were different beyond version exclusives and title screen. I'll try looking it up because I've put in a bit of work already, but if I can't find anything I'll get an FR ROM and start over. That much shouldn't be too hard.
 
Back
Top