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

Edit Event Pokémon [Gen III]

Hackachu

#NiceShirt
17
Posts
11
Years
  • Hiya! I'm making a hack where I need to change both the level and the Pokémon itself in Pokémon Ruby, specifically the battle against Groudon. It probably has to do with scripting as I can't find an event editor like that, but my knowledge on scripts is still fairly minimal and I can only write basic ones.
     
    Last edited:
    130
    Posts
    8
    Years
    • Seen Jun 14, 2023
    In the area where you find Groudon, there should be a script tile or a sprite with a script attached to it. Although I don't have Ruby on my PC, I can safely assume that you want to look for "setwildbattle (Groudon's # in hex) (level in hex) 0x0". You will just need to change the second hex number to a different level (still in hex). But before you compile the script and possibly mess something up, you will want to start a dynamic offset search in the first couple lines of the script. Then, the group where you change the setwildbattle command, you want to change the #org (offset) in the beginning of the section to #org @(word) and it can be any word. Keep track of what the offset was before changing it cause you'll have to change any 0x8(offset) to the @(word) same as the word before. That way, you won't ruin any bytes changed by changing the level, and all the script pointers will be changed.

    Hope this helps, and before attempting this (cause I could be majorly wrong, I'm new to scripting too) always back up your current progress.
     

    Hackachu

    #NiceShirt
    17
    Posts
    11
    Years
  • In the area where you find Groudon, there should be a script tile or a sprite with a script attached to it. Although I don't have Ruby on my PC, I can safely assume that you want to look for "setwildbattle (Groudon's # in hex) (level in hex) 0x0". You will just need to change the second hex number to a different level (still in hex). But before you compile the script and possibly mess something up, you will want to start a dynamic offset search in the first couple lines of the script. Then, the group where you change the setwildbattle command, you want to change the #org (offset) in the beginning of the section to #org @(word) and it can be any word. Keep track of what the offset was before changing it cause you'll have to change any 0x8(offset) to the @(word) same as the word before. That way, you won't ruin any bytes changed by changing the level, and all the script pointers will be changed.

    Hope this helps, and before attempting this (cause I could be majorly wrong, I'm new to scripting too) always back up your current progress.

    Will try when I get home. Thank you so much!


    Edit: Tried, and it worked. Thank you so much!
     
    Last edited:
    Back
    Top