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

Is there a simple way to change every single trainer's level to a specified number? (Fire Red)

10
Posts
2
Years
    • Seen Feb 24, 2023
    I'm asking this again, yes.

    I'm inexperienced at programming, but is there an easy way to change every trainer mon and wild mon's level to 1? Just 1. It can never go higher than that. Perfect number.

    But I don't exactly want to do horribly huge amounts of clicking and changing values, so any less time-consuming way? Thanks.
     
    232
    Posts
    5
    Years
    • Seen Apr 16, 2024
    Unlikely.
    Especially wirh binary hacking

    Plus wouldn't you have to cancel out getting EXP too?
     
    Last edited:
    451
    Posts
    6
    Years
    • Seen yesterday
    I'm asking this again, yes.

    I'm inexperienced at programming, but is there an easy way to change every trainer mon and wild mon's level to 1? Just 1. It can never go higher than that. Perfect number.

    But I don't exactly want to do horribly huge amounts of clicking and changing values, so any less time-consuming way? Thanks.

    No, if by easy you mean a program that does it for you.

    Your options are basically:
    1. Write a program that edits a rom file and sets all trainer and wild mon level data to 1.
    2. Modify the game's code to always create level 1 pokemon regardless of what the trainer/wild mon data says.

    The latter is probably as simple as it gets since it requires editing only a couple lines of code in the decomp.
     
    10
    Posts
    2
    Years
    • Seen Feb 24, 2023
    Uh, hey, so how exactly do I do that modification? I'm kinda bad at editing code, but I can modify basic stuff and all.
     
    451
    Posts
    6
    Years
    • Seen yesterday
    Uh, hey, so how exactly do I do that modification? I'm kinda bad at editing code, but I can modify basic stuff and all.

    There are a couple ways to do it but one quick and hacky way is to modify the pokemon generation code since that will apply to all types of mons.

    src/pokemon.c
    Code:
    @@ -1715,7 +1715,6 @@ void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFix
         u32 arg;
         ZeroMonData(mon);
         CreateBoxMon(&mon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId);
    [COLOR="Red"]-    SetMonData(mon, MON_DATA_LEVEL, &level);[/COLOR]
         arg = 255;
         SetMonData(mon, MON_DATA_MAIL, &arg);
         CalculateMonStats(mon);
    @@ -1727,7 +1726,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
         u32 personality;
         u32 value;
         u16 checksum;
    [COLOR="Red"]-[/COLOR]
    [COLOR="Lime"]+    level = 1;[/COLOR]
         ZeroBoxMonData(boxMon);
     
         if (hasFixedPersonality)
     
    Back
    Top