PDA

View Full Version : [Tutorial] How to Create New Evolutionary Stones: Step by Step


karatekid552
February 13th, 2013, 01:51 PM
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:

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:

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 00Then 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 (http://www.pokecommunity.com/showthread.php?t=258426) 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.

LegacyHo-oh
February 13th, 2013, 03:14 PM
:D Thank You. :D This will definitely help with my rom hack.

Garuga17
February 16th, 2013, 01:20 AM
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:

karatekid552
February 16th, 2013, 08:55 AM
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.

Garuga17
February 19th, 2013, 02:49 AM
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.

karatekid552
February 19th, 2013, 09:04 AM
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.

Garuga17
February 20th, 2013, 08:02 PM
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:

http://25.media.tumblr.com/4f0815bae1580f662d4d6537b3cbdf61/tumblr_mijxptji921s3pjwbo2_1280.jpg



http://25.media.tumblr.com/e690a4a512228813f57afc68b09ecd2e/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)
http://24.media.tumblr.com/2327322fd9fb0096a21d0dc8f5af9310/tumblr_mijxptji921s3pjwbo1_500.jpg

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

karatekid552
February 20th, 2013, 08:14 PM
This is the Item manager:

http://25.media.tumblr.com/4f0815bae1580f662d4d6537b3cbdf61/tumblr_mijxptji921s3pjwbo2_1280.jpg



http://25.media.tumblr.com/e690a4a512228813f57afc68b09ecd2e/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)
http://24.media.tumblr.com/2327322fd9fb0096a21d0dc8f5af9310/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.

Garuga17
February 20th, 2013, 08:57 PM
I think i'm gonna give the screenshot

http://25.media.tumblr.com/424e191211437c6b1a110671dbbd52ef/tumblr_mik0arZDf01s3pjwbo2_1280.jpg



http://24.media.tumblr.com/20b7a974b8b314230f8466bfe870d449/tumblr_mik0arZDf01s3pjwbo1_1280.jpg


So, how about it?

karatekid552
February 21st, 2013, 08:29 AM
I think i'm gonna give the screenshot

http://25.media.tumblr.com/424e191211437c6b1a110671dbbd52ef/tumblr_mik0arZDf01s3pjwbo2_1280.jpg



http://24.media.tumblr.com/20b7a974b8b314230f8466bfe870d449/tumblr_mik0arZDf01s3pjwbo1_1280.jpg


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.

Garuga17
February 21st, 2013, 11:22 AM
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
February 21st, 2013, 11:43 AM
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
September 29th, 2013, 04:05 AM
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
September 29th, 2013, 05:22 AM
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.

vizor
December 29th, 2013, 01:25 AM
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
December 29th, 2013, 02:43 AM
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
April 20th, 2014, 05:51 AM
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
April 20th, 2014, 07:38 AM
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.

loldamaru
April 20th, 2014, 03:46 PM
Well, bad data was written someone and it caused it to crash. There could 100s of reason why.

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

karatekid552
April 20th, 2014, 06:01 PM
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.

loldamaru
April 21st, 2014, 05:26 AM
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.

Is that so? Maybe my rom had screwed up. I waiting for someome help but i will try my best to solve this. Fortunately i have recent backup. If you have free time let me know. Thx karatekid552!

hihohilton
May 23rd, 2014, 06:34 PM
i did exactly what you said in the tut and it doesnt work. Oak just tells me it isnt the time to use it and also if i dont use a save file i get a white screen on my emulator
btw im using mrdollsteaks patch

MarvoloTheUmbreon
August 9th, 2014, 05:22 PM
Sorry to disturb you but i dont understand this step:
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.

mkarthick98
December 30th, 2014, 08:22 PM
Just asking, would using the Item Editor in G3T make this any easier?

TheRabbit
December 31st, 2014, 08:24 AM
Just asking, would using the Item Editor in G3T make this any easier?

Yeah, G3T makes everything in this tutorial unnecessary.

DizzyEgg
December 31st, 2014, 11:12 AM
Yeah, G3T makes everything in this tutorial unnecessary.

Hey, could you tell me what exactly is "G3T"?

Fun Size
December 31st, 2014, 11:57 AM
Hey, could you tell me what exactly is "G3T"?
Yeah G3T first of all stands for "Gen 3 Tools." Now you may noticed I said tools and not tool. This is because G3T is a compilation of five different tools. A move editor, a trainer editor, a Pokemon editor, a item editor, and it can even de-capitalize words in your rom. Here's a link to the tool if you'd like to download it: http://www.pokecommunity.com/showthread.php?t=311461

LanceD
February 8th, 2015, 10:10 AM
What if I want to be able to use a certain item, say, Metal Coat for Onix, in the same manner as an evolution stone?

BLAxTOISE
February 9th, 2015, 02:43 PM
What if I want to be able to use a certain item, say, Metal Coat for Onix, in the same manner as an evolution stone?

Well, as far as I'm conecerned, you can't do that. but you can always create a new Item with the same picture and a different name and follow the tutorial

chemamu
February 16th, 2015, 10:12 AM
Hi, I have a question because I don't understand very much the tutorial because i have a very low english level (I'm venezuelan) and if this tutorial have a video, i be very grateful.

rhapsodian_pixo
March 20th, 2015, 02:36 PM
It didnt work for me... It says It didnt hace any effect and went back to menú in my edited pokemon... Any idea?