• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • 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✓] (Fire Red) Increasing the EV gain from Vitamins

Manekimoney

Banned
  • 169
    Posts
    7
    Years
    • Seen Jan 18, 2024
    I want to make it so that the Vitamins increase the EVs by 255, instead of 10, so you can use them to insta EV train a freshly caught Pokemon, since the hack focuses on very quick team building.

    I assume I have to find the hex that corresponds to that EV gain. Can anyone point out where I can find that?
    (the 100 EV cap on Vitamins is probably not important, since it maxes it out instantly, therefore bypassing it)
     
    Last edited:
    My lazy solution to doing things like that is to find the 10 in a decomp, change it to another number, compile, compare the original ROM to your compiled ROM, and now you know the offset! Takes a little work to get a decomp set up and learn how to search it for what you need, but you'll never need to search the internet again!
     
    My lazy solution to doing things like that is to find the 10 in a decomp, change it to another number, compile, compare the original ROM to your compiled ROM, and now you know the offset! Takes a little work to get a decomp set up and learn how to search it for what you need, but you'll never need to search the internet again!

    I am getting somewhere with this advice. Just a small question. How do you do the comparison between the original ROM and the changed one?
     
    I am getting somewhere with this advice. Just a small question. How do you do the comparison between the original ROM and the changed one?

    I guess you either want to find a binary diff tool (i.e. something to show the differences between two binary files), or, you might be able to get away with creating an IPS and just applying that straight to your ROM (buuut it'll depend on exactly what the compiler does, it's possible that instead of just replacing the 10 it shifted some of the logic around too).
     
    Last edited:
    I'm interested too!

    I want to lift the limit of 100 EV per stat and 510 total EV with vitamins.

    I already did it with EV in battle but still can't do it with vitamins.

    How have you removed the 510 total EV cap? I looked for it everywhere and couldn't find (unless, of course, you used decomp).
    Had to do this whole thing to "remove the 510 cap": https://www.pokecommunity.com/posts/10094198

    And still had to remove vitamins from the game, as they completely ignore the "63 EV cap".


    Manekimoney said:
    (the 100 EV cap on Vitamins is probably not important, since it maxes it out instantly, therefore bypassing it)

    Probably it is important, since if a pokémon have 91 EV and you try to give it a vitamin, you won't succeed due to the 100 EV cap.
     
    Last edited:
    How have you removed the 510 total EV cap? I looked for it everywhere and couldn't find (unless, of course, you used decomp).
    Had to do this whole thing to "remove the 510 cap": https://www.pokecommunity.com/posts/10094198
    And still had to remove vitamins from the game, as they completely ignore the "63 EV cap".
    Probably it is important, since if a pokémon have 91 EV and you try to give it a vitamin, you won't succeed due to the 100 EV cap.

    I guess you either way to find a binary diff tool (i.e. something to show the differences between two binary files), or, you might be able to get away with creating an IPS and just applying that straight to your ROM (buuut it'll depend on exactly what the compiler does, it's possible that instead of just replacing the 10 it shifted some of the logic around too).

    I'm interested too!
    I want to lift the limit of 100 EV per stat and 510 total EV with vitamins.
    I already did it with EV in battle but still can't do it with vitamins.

    Well, guys, mgriffin's suggestion worked. I changed the things in the decompiler and compared it to unchanged Fire Red. It was quite troublesome, since the game has some of these EV checks repeat (for some reason, I don't know about), which meant I have to compile quite a few times.

    And yes, it turns out that you have to remove the 100 cap. It seems I misunderstood the mechanic a bit and thought Vitamins work as long as you have below 100 EVs. Well, it turns out that the game makes sure that the EVs don't go beyond 100.

    Solution:
    Spoiler:




    Now the test:

    Comparison between a level 100 Bulbasour with practically zero EVs and a Bulbasour that consumed 4 Zincs, 4 Proteins and then 1 Carbos:
    Spoiler:

    It checks out. The SP.DEF and ATK EVs are maxed, while SPEED gained only 1 stat, because of the 510 cap.

    That's the problem solved, I guess.



    Reply to DarkCyborg: and probably McPaul
    Spoiler:
     
    What exactly does the "FD 01" to "F9 05" change do? Is that just a literal increase on the cap? (If so, what are the values?)
     
    Not sure if that's right:
    FD01 = 64769
    FFFF - FD01 = 65535 - 64769 = 766
    766 - 256 = 510 (old cap)


    F905 = 63749
    FFFF - F905 = 65535 - 63749 = 1786
    1786 - 256 = 1530 (new cap)
     
    I know this thread is old, but is there a way to do this in Emerald? I searched in my ROM's hex editor, and I could not find that sequence of bytes in any offset.
     
    I know this thread is old, but is there a way to do this in Emerald? I searched in my ROM's hex editor, and I could not find that sequence of bytes in any offset.

    Just use ModEXE and I'm questionable if that ev cap exploit it even works anyway.
     
    Last edited:
    Have you found a way to go over the 510 EV limit with vitamins? It's not letting me either. I changed: At 439E0 change "40" to "C0"

    At 43A3C change "FD 01" to "F9 05" and also changed the ev.vitamin max from 99 (100 minus 1) to 254 (255 minus 1)
     
    Back
    Top