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

[ASM & Hex✓] [Emerald] How To Lift the EV Cap from Vitamins (from 100 EVs to 252 EVs)

  • 135
    Posts
    4
    Years
    • Seen May 13, 2024
    After looking through https://www.pokecommunity.com/showthread.php?p=10134604#post10134604, I finally learned how to do this procedure in Emerald, and I had to go through a lot of installations just to find the offsets in Pokémon Emerald regarding these.

    And it's these:
    [Emerald] How To Lift the EV Cap from Vitamins (from 100 EVs to 252 EVs)

    Offsets 0x6c468, 6c470, 6c476, 6ca54, 6ca5c, 6ca62

    You have to change the 63 bytes you see to FB in those offsets, along with changing the 64 bytes you see to FC. This way, you should be able to gain 252 EVs via only vitamins.

    Edit: Here are the offsets for how many EVs the vitamins give:
    [Emerald] How To Lift the EV Cap from Vitamins (from 100 EVs to 252 EVs)

    By default, it's 0A for 10 EVs. Here, it says 40 for 64 EVs.
     
    Last edited:
  • 13
    Posts
    3
    Years
    • Seen May 26, 2024
    This is excellent! But I have one last question: What about the EVS reducing berries?

    What is the compensation that makes that instead of lowering 10 EVS, it lowers another value that I set?
     
  • 135
    Posts
    4
    Years
    • Seen May 13, 2024
    This is excellent! But I have one last question: What about the EVS reducing berries?

    What is the compensation that makes that instead of lowering 10 EVS, it lowers another value that I set?
    I don't remember which offsets in the game's code I had to edit, so you'll have to find that out on your own. An important skill in binary hacking is editing certain constants in a Pokémon's disassembly (for Emerald, it's pokéemerald), then compiling a game. Some values in certain memory addresses will not match the original game, so you use a binary difference tool to locate them. You can document a lot of things to help other binary hackers with this skill!

    Here's how to do it:
    Spoiler:
     
  • 13
    Posts
    3
    Years
    • Seen May 26, 2024
    Hi! Thanks for replying, although I had already done more or less what you indicated in your post. I haven't responded earlier because I'm on vacation (in fact, I'm writing this from my cell phone).

    Indeed, I used Decomp with pokeemerald to look for something like that; to be able to change the value and then compare it with an original rom using HxD, and see which bytes are necessary to change. Actually, if you already have Decomp tools installed, it is quite simple and useful this method. Even if your trick is in rom hacking binary, you can get a lot of things out of it.

    Back to the topic, I found the necessary offsets to change the values that subtract the EVs of each of the berries (they were 6 bytes, similar to the vitamins offset). But I found a problem with this, and it is that the maximum that I could put that they subtract was -128 (I wanted them to remove all the EVs of the statistic that corresponds to them, that is to say, -255 for each one of them). Even putting a value of -129 in pokeemerald, it wouldn't let me compile. I guess it has to do with something to do with the game's own internal calculations.
    In the end, the solution I came up with was, through a bit of C programming and scripting, the creation of 6 new items that do this function of leaving the EVs at 0 depending on which stat it is.

    Greetings and happy hacking!
     
    Back
    Top