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

[Ruby] Adding New Types

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
Note...
This tutorial will teach you how to add new types to your Ruby ROMs.
However, it will sacrifice the Contest Move types. So if you don't plan on adding the Contests in your ROM, then this tutorial is for you.
Also note that I absolutely have no idea where the type palletes are located.

And if you want a FireRed/LeafGreen version of this tutorial, check out Dragoon's thread.​
33f3x2u.jpg

Things You'll Need...
- Hex Editor
- Unlz-GBA​
33f3x2u.jpg

Steps...
0. Save a back-up copy of your ROM.

1. Open your ROM with Unlz-GBA.
Spoiler:


2. Go to 1485 in Unlz-GBA.
Spoiler:


3. Save the image and open it to any image-editing programs (like MSPaint) and add your new type.
Spoiler:


4. Import the new type image back.
Spoiler:


6. Close Unlz-GBA and open your ROM with a Hex Editor.

7. Move the strength and weakness table, which is found in address 1F9720, to a new offset.
Spoiler:


8. Repoint the strength and weakness table to your new offset.
Spoiler:


9. Add new strength/weakness values on your new table.
Spoiler:


10. Update your editing tool's .ini file.
Spoiler:


11. Repoint the type names table.
Spoiler:


12. Insert new type names.
Spoiler:
33f3x2u.jpg

Reference...

[a id]swt[/a id]Strengths And Weaknesses Table Address
Spoiler:

Types' Hex Values
Spoiler:

Damage Multiplier
Spoiler:
33f3x2u.jpg

Credits...
33f3x2u.jpg

Resource...

 
Last edited:

xGal

Mhm
241
Posts
12
Years
I had no idea It's that easy XD

Thanks.. If I will ever hack Ruby again, I might use it!

Do you have an idea where the Strength/Weakness is in FireRed?
 

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
I had no idea It's that easy XD

Thanks.. If I will ever hack Ruby again, I might use it!

Do you have an idea where the Strength/Weakness is in FireRed?

I linked Coolboyman's documentation on the Credits section of the tutorial.
Anyway...

Coolboyman said:
Fire Red: 24F050
Hm...
Maybe I should include the addresses on the Reference section.
 

TheShinyMew

Wild Challenger appeared!
125
Posts
13
Years
<b>
Things You'll Need...
- Hex Editor
- Unlz-GBA​
</b>
<b>
6. Close Unlz-GBA and open your ROM with a Hex Editor.

7. Move the strength and weakness table, which is found in address 1F9720, to a new offset.
Spoiler:


8. Repoint the strength and weakness table to your new offset.
Spoiler:


9. Add new strength/weakness values on your new table.
Spoiler:

</b>

Wait, what kind of Hex-Editing program did you use?
 

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
Wait, what kind of Hex-Editing program did you use?

Any hex editing program will work.
But I normally use Hex Workshop v6, since that's the hex editing program I first used when I started ROM hacking.
 

DoesntKnowHowToPlay

Tiny Umbrella with Lots and Lots of Good
265
Posts
12
Years
  • Seen Feb 24, 2024
YAPE can still open a ROM with mons that have new types- you just need to change the MaxTypeVal variable, which is defined in data\common\romdata.ini.

It's also worth noting that near the end of the 3rd gen type chart you'll find an FE FE 00 entry- this is important, as any match-ups after stop taking effect when Foresight or Odor Sleuth are used.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
DJG, just a suggestion, but use offsets with UnLz along with the numbers since not everyone is working on a vanilla rom. Some of the newcomers might not have a good grasp on UnLz's numbering system and won't know what to do when the image is in a different location. Other than that, nice tutorial.:)

Also, for anyone that needs the palettes, try using the logger that is built into VBA to find them. If that doesn't work, find them in the palette viewer and then use APE to search the rom.

Edit: I wonder if we can add new types to FR by expanding the image and the table.... Might be a cool feature for the 649 patch once I stabilize it.
 
12
Posts
10
Years
  • Age 34
  • Seen May 23, 2014
DJG, just a suggestion, but use offsets with UnLz along with the numbers since not everyone is working on a vanilla rom. Some of the newcomers might not have a good grasp on UnLz's numbering system and won't know what to do when the image is in a different location. Other than that, nice tutorial.:)

Also, for anyone that needs the palettes, try using the logger that is built into VBA to find them. If that doesn't work, find them in the palette viewer and then use APE to search the rom.

Edit: I wonder if we can add new types to FR by expanding the image and the table.... Might be a cool feature for the 649 patch once I stabilize it.

Hey karatekid, i see you are also interested in adding new types to firered. If you want to help I have a thread in the research and development section so far I have everything except how to add the new type's icon to the image since it doesn't have contest moves to override in firered. Your help would be great.

Also DJG,
You might want to add how to change the types name in the game so it doesn't make a bunch of weird symbols there instead.
 

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
Also DJG,
You might want to add how to change the types name in the game so it doesn't make a bunch of weird symbols there instead.

Oh...right...that...
Forgot about that... >.>
I'll add that part later this weekend.


edit: done~
 
Last edited:
12
Posts
10
Years
  • Seen May 9, 2014
hey, ??? Type can be replaced with fairy type? A friend told me that it can't. :(
And I tried to repoint, but to verify message appeared when "Write to ROM" in unlz.gba :(

LOL...When i save it in my pc it says it is 16 colours, but when i start editing it with same colours it says it is not 16
 
Last edited:

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
hey, ??? Type can be replaced with fairy type? A friend told me that it can't. :(
And I tried to repoint, but to verify message appeared when "Write to ROM" in unlz.gba :(

LOL...When i save it in my pc it says it is 16 colours, but when i start editing it with same colours it says it is not 16

Yes, you can replace the [???] type, but that might mess with the [Struggle] move. =/

Also, you are probably using a Win7 or Win8 version of MS Paint. Those versions remove the 16 color thingy-thingy of the image.
Try using this instead -> http://www.mediafire.com/download/ki99ug9z8wbtu9y/mspaint.exe
 

karatekid552

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

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
I cannot seem to find "1F96B0" using HxD in Win8.1.

You think I'm doing something wrong?

edit


What do I do in step 7?

Go to (CTRL + G) the 1F96B0 (hex) address, and then proceed of doing Step 7.
 
Back
Top