The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary ROM Hacking (https://www.pokecommunity.com/forumdisplay.php?f=284)
-   -   Is there a simple way to change every single trainer's level to a specified number? (Fire Red) (https://www.pokecommunity.com/showthread.php?t=475249)

Chill 'Doof June 9th, 2022 9:01 PM

Is there a simple way to change every single trainer's level to a specified number? (Fire Red)
 
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.

Tacobell24 June 11th, 2022 11:29 PM

Unlikely.
Especially wirh binary hacking

Plus wouldn't you have to cancel out getting EXP too?

Anon822 June 12th, 2022 2:47 AM

Quote:

Originally Posted by Chill 'Doof (Post 10514341)
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.

Chill 'Doof June 17th, 2022 10:36 AM

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.

Anon822 June 18th, 2022 2:14 AM

Quote:

Originally Posted by Chill 'Doof (Post 10517574)
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);
-    SetMonData(mon, MON_DATA_LEVEL, &level);
    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;
-
+    level = 1;
    ZeroBoxMonData(boxMon);

    if (hasFixedPersonality)




All times are GMT -8. The time now is 9:22 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.