• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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.

How to Create New Evolutionary Stones: Step by Step

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
How to create a new Evolutionary Stone



I have seen people asking for this several times, so I decided to write my first full length tutorial on the subject. As of right now, this post will not have images, but if anyone does find need of them, just ask.

I am writing this tutorial for all games, so I will refer to specific offsets from this chart:

Code:
OffsetA- This is the item effect table.
AXVE- 0x1FCDE4
AXPE- 0x1FCD74
BPRE- 0x2528BC
BPGE- 0x252898
BPEE- 0x31E58C
If anyone has any offsets from different games, please let me know.

To find new offsets for games not listed, search for:

Code:
 00 00 00 00 04 00 14 00 00 00 10 00 00 00 00 00 08 00 00 00 00 00 04 00 00 00 00 00 20 00 00 00 00 00 02 00 00 00 00 00 3F 04 00 FF 00 00 00 00 04 00 FF 00 00 00 00 04 00 C8 00 00 00 00 04 00 32 00 00 00 3F 00 00 00 00 00 00 44 00 FE 00 00 00 00 44 00 FF 00 00 00 00
Then create a pointer from the location of this data and search for that. The location of the pointer is the first slot on the item effect table.


Note: Every number in this tut should be in Hex unless otherwise specified.


Requirements:

-An Advance Gen Rom
-A hex editor (HxD works well)
-Item Manager (PGE DOES NOT WORK!)
-Free Space Finder (FSF)
-Some time
-A brain



Step 1) Follow DavidJCobb's Item Creation tutorial and make the new item look completely the same as another evolutionary stone already in existence, only changing its name and description. Please note, that this tutorial can only use the empty item numbers between Potion and Sitrus Berry.

Step 2) Take the item number, and subtract the item number of a Potion from it, which is D. This is because the table we are going to edit starts and potion.

Step 3) Now, multiply the number we got in step 2 by 4.

Step 4) Take this number and add it "OffsetA". (Which is found in a nice table at the top.)

Step 5) Goto this offset in a Hex editor.

Step 6) Using FSF, find some free space, about ten bytes, we won't need all ten, but just to be safe.

Step 7) At the offset we went to in step 5, place a pointer to the free space in step 6. If the offset you found was AX BY CZ-> the pointer would be CZ BY AX 08.

Ex. Free space is at 12 34 56, pointer will be 56 34 12 08.

Step 8) Go to our free space.

Step 9) Make all ten (dec) bytes of free space 00. (So changing the FFs to 00, up to ten (dec) bytes from our offset of free space.)

Step 10) Here is the step we give our item the ability to make a Pokemon evolve. If the byte at the offset we started counting free space at (the offset FSF gave us) is byte #0, at byte #4 (the FSF offset + 4) we need to change the 00 to 80. This enables the item to be an evolutionary stone.

Step 11) Save everything.

Step 12) Make a Pokemon that evolves by your new item and test it out. Remember to turn off the boundaries in YAPE that prevent you from having evolutions that use other items than those specified as evolution stones. (Options-> Evolution Editor-> uncheck Advanced Item Check)


Thanks to JPAN for his thread on items:

http://www.pokecommunity.com/showthread.php?t=204861

If there was anyone else who developed or studied items and had a hand in this discovery, please tell me so I can add their names here.
 
Last edited:
44
Posts
12
Years
I followed your tutorial, but i got a message like "oak: player! This isn't time to use that!"

I've already changed the fourth 00's byte to 80 just like you said

the only thing i'm not doing is inserting the images, i use the image and palette that are already available in the game(well, i suppose it has nothing to do with this right?)

EDIT: I've managed to get rid of the "oak: player! This isn't time to use that!" message, but when i click it on a pokemon, it says, "it won't have any effect" any help? D:
 
Last edited:

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I followed your tutorial, but i got a message like "oak: player! This isn't time to use that!"

I've already changed the fourth 00's byte to 80 just like you said

the only thing i'm not doing is inserting the images, i use the image and palette that are already available in the game(well, i suppose it has nothing to do with this right?)

EDIT: I've managed to get rid of the "oak: player! This isn't time to use that!" message, but when i click it on a pokemon, it says, "it won't have any effect" any help? D:

First, make sure that both tabs in item manager completely match an evolution stone in existence. The only things that can be different are the name and description.

Next, I have received similar error messages when not changing the correct byte, or not changing the byte at all.

This could mean you changed the wrong byte, remember, the starting offset is byte 0, so you need to change 4 bytes after, or you need to go to the table at "offsetA" and make sure the pointer is in the right slot.

Edit: Non-used items are not given an item number in their data, so you have to get their item number from counting from a previous item that has one. You can't just use any number.
 
44
Posts
12
Years
First, make sure that both tabs in item manager completely match an evolution stone in existence. The only things that can be different are the name and description.

Next, I have received similar error messages when not changing the correct byte, or not changing the byte at all.

This could mean you changed the wrong byte, remember, the starting offset is byte 0, so you need to change 4 bytes after, or you need to go to the table at "offsetA" and make sure the pointer is in the right slot.

Edit: Non-used items are not given an item number in their data, so you have to get their item number from counting from a previous item that has one. You can't just use any number.


I DID IT!

I'm editing the wrong bytes! how foolish i am!

Thanks dude! This is cool! :D

EDIT: I wanna ask, is it possible to repoint to the offset that already used?

I want to create more evolutonary items, can i just point to the first one that i created for the first item? Is it safe?

DOUBLE-EDIT: Somethings wrong, when i used on a pokemon, it evolved, but the game freezes after it evolved. Plus, when i used it to other pokemon (that can't evolved by my new item) it freezes.
 
Last edited:

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I DID IT!

I'm editing the wrong bytes! how foolish i am!

Thanks dude! This is cool! :D

EDIT: I wanna ask, is it possible to repoint to the offset that already used?

I want to create more evolutonary items, can i just point to the first one that i created for the first item? Is it safe?

DOUBLE-EDIT: Somethings wrong, when i used on a pokemon, it evolved, but the game freezes after it evolved. Plus, when i used it to other pokemon (that can't evolved by my new item) it freezes.

I have not had any problems once I got the correct bytes altered. Could you post screen shots of YAPE and item editer?

And for your first edit: Yes, in the table at offsetA, you cam point to the same offset for each stone. But, if you made a mistake on that first stone, it could hold problems for all of them.
 
44
Posts
12
Years
I have not had any problems once I got the correct bytes altered. Could you post screen shots of YAPE and item editer?

And for your first edit: Yes, in the table at offsetA, you cam point to the same offset for each stone. But, if you made a mistake on that first stone, it could hold problems for all of them.

This is the Item manager:

tumblr_mijxptji921s3pjwbo2_1280.jpg




tumblr_mijxptji921s3pjwbo3_1280.jpg



This is the Pokemon Editor(i use PGE's built-in PokemonEditor, because i've already repointing move data and such)
tumblr_mijxptji921s3pjwbo1_500.jpg


or should i use YAPE instead(but i can't open my roms on yape...)?
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
This is the Item manager:

tumblr_mijxptji921s3pjwbo2_1280.jpg




tumblr_mijxptji921s3pjwbo3_1280.jpg



This is the Pokemon Editor(i use PGE's built-in PokemonEditor, because i've already repointing move data and such)
tumblr_mijxptji921s3pjwbo1_500.jpg


or should i use YAPE instead(but i can't open my roms on yape...)?

I have always used YAPE, but it should work the same in PGE. Everything looks fine. In fact, you are using th same slot that I used to make my first Evolution Stone. Now, let's make sure your hex data is correct. Send me a screen shot of the location 0x252958 in your rom, and the location that you placed the stone properties at, (the location that should look like: 00 00 00 00 80 00 00 00 00 00).

If possible, could I also get an .ips of your rom, just so I can experience it for myself? It's okay if you don't want to send one, but I could deffinately find the problem quicker.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
I think i'm gonna give the screenshot

Spoiler:



So, how about it?

You sir... did everything right:(. I just went and tested this methood on my FR rom and evolved a Charizard into a Blatoise using an Evo Stone and there were not problems if I clicked on the wrong pokemon.

I have an idea! What if it isn't the stone, but the actual routines that run the checks and everything? Try evolving a pikachu with a thunderstone. The setup should be exactly the same, well, the data should be anyways. If it still crashes, then it is the stone routine. Could you video it using the AVI recorder in VBA? Thanks, and we will solve this problem.
 
44
Posts
12
Years
You sir... did everything right:(. I just went and tested this methood on my FR rom and evolved a Charizard into a Blatoise using an Evo Stone and there were not problems if I clicked on the wrong pokemon.

I have an idea! What if it isn't the stone, but the actual routines that run the checks and everything? Try evolving a pikachu with a thunderstone. The setup should be exactly the same, well, the data should be anyways. If it still crashes, then it is the stone routine. Could you video it using the AVI recorder in VBA? Thanks, and we will solve this problem.


DUDE!!! D:

you were right! Somethings wrong with my stone routine D: D: D:

I tried some pokemon that evolve by stone, like pikachu, growlite, but it can't evolve!

Not just that, it seems that my evolution routine is... messed up D:

Just to let you know, when i was trying to evolve it, the pokemon's cry is always beedrill's cry, the hell has happen to my roms DX

sorry, but can you help me? i'm gonna send my IPS file if you want to help....

arghhh my hardworks D:
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
DUDE!!! D:

you were right! Somethings wrong with my stone routine D: D: D:

I tried some pokemon that evolve by stone, like pikachu, growlite, but it can't evolve!

Not just that, it seems that my evolution routine is... messed up D:

Just to let you know, when i was trying to evolve it, the pokemon's cry is always beedrill's cry, the hell has happen to my roms DX

sorry, but can you help me? i'm gonna send my IPS file if you want to help....

arghhh my hardworks D:

I will try to help you, but since this no longer concerns this tutorial, take it to pms:).
 

Gigabyyyte

Exploring the world of Kalos!
33
Posts
10
Years
  • Age 33
  • Seen Oct 2, 2013
Um, hey. I wanna make the King's Rock an evolutionary stone type of thing in FireRed, though I have no idea how. :( Any suggestions?
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Um, hey. I wanna make the King's Rock an evolutionary stone type of thing in FireRed, though I have no idea how. :( Any suggestions?

You won't be able to change the King's Rock into a stone, becuase it is in the hold items category. However, you can follow this tutorial and make a new item called Kings Rock, as a stone, and then replace every instance in which the old item is given to the player with the new one.
 
25
Posts
12
Years
  • Seen Aug 25, 2017
Sorry for my question, but im a german Hacker though and I have absolutly no idea what YAPE should be. Hopefully it's not JPN's Engine...
 

Sniper

ふゆかい
1,412
Posts
10
Years
Sorry for my question, but im a german Hacker though and I have absolutly no idea what YAPE should be. Hopefully it's not JPN's Engine...

YAPE = Yet another pokemon editor, edit it's stats, moves, dex description etc..
 

loldamaru

say lol
80
Posts
9
Years
You sir... did everything right:(. I just went and tested this methood on my FR rom and evolved a Charizard into a Blatoise using an Evo Stone and there were not problems if I clicked on the wrong pokemon.

I have an idea! What if it isn't the stone, but the actual routines that run the checks and everything? Try evolving a pikachu with a thunderstone. The setup should be exactly the same, well, the data should be anyways. If it still crashes, then it is the stone routine.

Just want to ask you a question. What thing that could make the routine corrupted or messed up? Because I have the same problem with Garuga17, but the different is on my ROM suddenly the screen turned black when i give the stone.
I have test it on various Pokemon. Pikachu with Thunder Stone, or Growlithe with Fire Stone, or my Eevee with my custom stone. They have same result...

Could you explain me why the routine corrupted?
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Just want to ask you a question. What thing that could make the routine corrupted or messed up? Because I have the same problem with Garuga17, but the different is on my ROM suddenly the screen turned black when i give the stone.
I have test it on various Pokemon. Pikachu with Thunder Stone, or Growlithe with Fire Stone, or my Eevee with my custom stone. They have same result...

Could you explain me why the routine corrupted?

Well, bad data was written someone and it caused it to crash. There could 100s of reason why.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Is it possible to track back my failure and repair my evolutionary routine with some hex repointing? Or it must be repaired by asm skills?
If cant... i need your help then. I'll give you ips patch and credit your name afterwards...

Look man, errors like this can range from a simple byte range to entire chunks of your rom being screwed over. I don't have the time to search your rom for the issue. I wish I did, but I just don't.
 
Back
Top