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