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

Development: Pokemon above level 100

13
Posts
12
Years
    • Seen Feb 26, 2014
    I just found this thread and think the idea is interesting. I'd like to try to figure out how to raise the cap in a hack I'm helping with.

    From what I understand, there are four main things that need to be changed:

    First, the experience tables needed to be expanded and filled in up to 150 or 200 or 255 or whatever. Does anyone know where these tables are?

    Second, something needs to be done with stat growth. Jambo51 mentioned a stat encrypter/decrypter which I still need to learn about.

    Third, there's the checksum. How does that work? Does this just mean that changing values in memory on the fly will break the game? Will it work out alright as long as the level values are hardcoded in the ROM?

    Fourth, which might actually just be part of the first step, Pokemon need to be allowed to level up past level 100. I'm obviously still learning about all this, but it would seem that a Pokemon stops growing either when it hits its level 100 experience total (the last value in its growth table) or once it hits the "max level" value stored in the ROM somewhere. It might be both, since a Pokemon can level up with a Rare Candy ("set this Pokemon's experience total to level+1, unless at end of table") or through regular experience gain ("increase this Pokemon's experience by X unless EXP equals max").

    Any thoughts? In the meantime, I guess I'll check out HackMew's engine thread.
     
    2
    Posts
    11
    Years
    • Seen May 13, 2012
    I highly recommend not going over level 200 or so. You'd have to use something like the enhanced debug versions of VBA and find out what accesses the level. Sadly, you'd need to do this for every part of the game. This may or may not be feasible. It's also possible to use a program like IDA or a plain disassembler to find this information.

    It makes more sense to not bother, and just directly modify the stats in RAM instead of modifying a bunch of machine code and lists. It's no harder than making a prewired Gameshark/Action Replay code. You just put a hook ('asm detour') to your code that checks to see if some value is correct ('Is this the right trainer') and then modifies the stats based on that and then returns to the original code flow. You have to watch for registers and timing but this isn't too bad so far as ASM hacks go.
     
    140
    Posts
    14
    Years
    • Seen Jun 1, 2022
    *sigh* If only things were as easy as they were in the 1st gen... (Hint: Missingno glitch could do this...)
     
    Last edited:
    1
    Posts
    11
    Years
    • Seen Aug 25, 2012
    I don't know much of anything to do with hacking but I'm learning. Now that that's out of the way I do see a use for this.

    Let's say you're one of the mad people online who say 'Lets put all the Pokemon games into one!" Of course there are probably endless other problems but one problem would be that you've probably maxed out your Pokemon pretty quickly through the story.

    Being able to level your Pokemon past 100 would lead to being able to have a longer story while keeping difficulty at a nice level.

    Going through the second half of a game fighting only level 100 Pokemon would be boring and stale, plus you couldn't level them up and evolve them seeing as they are already level 100. However, it would probably be extremely hard to catch any of these Pokemon due to extremely high level.
     

    Mr.Pkmn

    Ordinary ASM Magician
    53
    Posts
    16
    Years
    • Seen Nov 17, 2023
    Being able to level your Pokemon past 100 would lead to being able to have a longer story while keeping difficulty at a nice level.

    Going through the second half of a game fighting only level 100 Pokemon would be boring and stale, plus you couldn't level them up and evolve them seeing as they are already level 100. However, it would probably be extremely hard to catch any of these Pokemon due to extremely high level.
    If that's the reason, then you don't really need to go past level 100.

    Just modify the "experience for next level" table in order to make the level up harder. Or reduce the given exp with ASM.
     

    Pinta77

    Guest
    0
    Posts
    Why would you want to make a pokemon go higher then level 100? It seems like a lot of work for something kind if useless.
     

    xxMoon

    Assembly Guy
    3
    Posts
    11
    Years
  • Honestly I think this would be an easy feat. There is a function that limits the lvl that your pokemon can be. Now, if you caould locate that function which would be something like "in lamens terms" (If pokemon lvl = 100, jmp to no exp given) or (If pokemons lvl = 99, JBE to exp given)

    Now for loacating that function, I would imagine this would be the route to take:

    Using some sort of live debugger, search pokemon lvl, make pokemon lvl change, search it again. Then search for the code that is calling the address that the value is stored at.

    Then you could just patch the game.

    Honestly, I THINK THIS IS A GOOD IDEA. That would make it so you can make a really long story for ou mod.
     
    Last edited:

    Wynchester

    Legendary Trainer
    24
    Posts
    11
    Years
  • I agree with xxMoon. That would be a good way to try. And Pinta... if you paid any attention, it's for a Trainer Battle against the Team Rocket of the game where the organization creates stronger Dark Pokemon.

    Now... to my idea on how this could be done... You may want to try not going for a regular Trainer battle, but rather have the main character watch a battle and then you change the level of the scripted battle's pokemon so that it appears to be that the opponents pokemon are such high levels, but really they aren't. The only other option besides these ones listed is just going in and adjusting the cap. But you may want an expert to help with that so you don't screw up the game.
     

    thedarkb

    Intermediate Hacker
    4
    Posts
    11
    Years
  • Through the JACRED glitche the ZZAAZZ glitch, the old man glitch, the long range trainer glitch and the mew glitch in any of these glitches you can get a pokemon of a level above 100 (or below 0) but all of these glitches were removed in gen II. Althogh I met someone who claimed to have found an Action Replay code to level them up higher than 100 in gen IV.
     

    Agastya

    Grinding failed. Item Grind level dropped by 3.
    73
    Posts
    14
    Years
    • Seen Mar 19, 2023
    Getting the cap to go past 100 would break far more than it would improve. You remember that the attacker's level is a part of the damage formula, right? A level 150 Pokemon would do 1.5x more damage than a level 100 Pokemon would. This damage scales far faster than defenses do when your foes don't have any EVs (reminder that the AI does not get EVs while the player does) and you'll burn any challenge that exists away if you're following a sensible level curve and not just throwing level 200 Giratinas at the player in midgame or some garbage.

    If you need a multi region game pull a GSC and have the first region's Elite Four just be in the 40s. Multiple regions are nearly impossible to balance anyway.

    I personally think we should be more interested in figuring out how to rig up trainers to have EVs instead, but since I don't know anything about "actual" hacking I have no room to talk.
     
    94
    Posts
    13
    Years
    • Seen Nov 2, 2016
    Getting the cap to go past 100 would break far more than it would improve. You remember that the attacker's level is a part of the damage formula, right? A level 150 Pokemon would do 1.5x more damage than a level 100 Pokemon would. This damage scales far faster than defenses do when your foes don't have any EVs (reminder that the AI does not get EVs while the player does) and you'll burn any challenge that exists away if you're following a sensible level curve and not just throwing level 200 Giratinas at the player in midgame or some garbage.

    If you need a multi region game pull a GSC and have the first region's Elite Four just be in the 40s. Multiple regions are nearly impossible to balance anyway.

    I personally think we should be more interested in figuring out how to rig up trainers to have EVs instead, but since I don't know anything about "actual" hacking I have no room to talk.
    I'm pretty sure that they understand to raise the cap past 100 that you'd need to edit all the other stuff along with it.
    I believe I've found all the spots where you have to edit the level cap in order to change it. I've only lowered it from 100, never went above or up to the max, which would be 255.
     

    Wynchester

    Legendary Trainer
    24
    Posts
    11
    Years
  • NintendoBoy, what game did you figure it out for? Fire Red is what he needs. Also can you post what you found or link to a post of what you found?
     
    94
    Posts
    13
    Years
    • Seen Nov 2, 2016
    NintendoBoy, what game did you figure it out for? Fire Red is what he needs. Also can you post what you found or link to a post of what you found?
    Sure, I can provide you with my old notes for firered.
    Simply:
    Code:
    Pokemon lvl 100 checks:
    
    0804A216 - change 0x64 to your value
    08021CFA - change 0x64 to your value
    08021FB6 - change 0x64 to your value
    0803E806 - change 0x64 to your value
    0803E872 - change 0x64 to your value
    08041834  - change 0x64 to your value
    08041B1E - change 0x64 to your value (08041b22?)
    080420E8 - change 0x64 to your value (080420EE)
    0804274E - change 0x64 to your value
    08045684 - change 0x64 to your value
    08041B0E - change 0x63 to your value - 1
    08032F6E - change 0x63 to your value - 1
    There will be checks of 0x64 & 0x63 (100 & 99) that can be changed to any number from 0 - 0xFF (255).
    You'll also have to make changes to the formulas for catchrate, stats @ lvl up, etc if you go above 100.
     
    Last edited:
    20
    Posts
    11
    Years
    • Seen Feb 7, 2013
    Going through the second half of a game fighting only level 100 Pokemon would be boring and stale, plus you couldn't level them up and evolve them seeing as they are already level 100. However, it would probably be extremely hard to catch any of these Pokemon due to extremely high level.
    I thought of the same thing but well, a balanced level system would make things much easier (like in GSC where the pokémon in victory road are level 27 compared to lvl 45 in RBY or RSS so drastically reducing wild pokemons level and exp given would make the game longer too.
    Also (talking about boring and stale) you'd need to rise the levels for evolution too so it won't get too imbalanced (catching lvl 120 pokemon in Sinnoh that will evolve into their finals forms at once) which would make the starting parts harder.

    At the last point I don't know if you are that far into hacking but there are about 30-40 slots between celebi and treecko which can be used for pokémon that are never registered in the pokédex even if you battle them so you could for example make a lvl 100 garchomp for cynthia with all base stats risen by 50 if you need a challenge :D Which is what I'd recommend for the asker of the question too:
    Just add the dark pokémon on slot 252 with altered stats (maybe ability etc. too) and you'll get the challenge you need :)

    And the last thing as level doesn't influence the catch rate (which is why mew lvl 7 isn't that easy to catch in RBY) even lvl 255 caterpies will propably be caught with the first pokéball at full hp :)
     

    Jambo51

    Glory To Arstotzka
    736
    Posts
    14
    Years
    • Seen Jan 28, 2018
    there are about 30-40 slots between celebi and treecko which can be used for pokémon that are never registered in the pokédex even if you battle them

    25, not 30-40.

    And the last thing as level doesn't influence the catch rate (which is why mew lvl 7 isn't that easy to catch in RBY) even lvl 255 caterpies will propably be caught with the first pokéball at full hp :)

    Wrong. Level DOES make a difference. I can tell you that from having looked at the code. So the code would need modified, because the way it's written it assumes a max level of 100, which would make Pokémon impossible to catch without using a Master Ball.
     

    Agastya

    Grinding failed. Item Grind level dropped by 3.
    73
    Posts
    14
    Years
    • Seen Mar 19, 2023
    you could for example make a lvl 100 garchomp for cynthia with all base stats risen by 50 if you need a challenge :D

    that is not challenge

    that is asking the player to use toxic and full restores

    one day you guys will understand how this game works
     

    Shiny Quagsire

    I'm Still Alive, Elsewhere
    697
    Posts
    14
    Years
  • Pokemon over lv 100 is possible, but it would take more than changing a few 100's to another max level, since a lot of mechanics involve levels. However, even if you do get it over 100, the game has to have an altered experience gain or a VERY long storyline.
     
    94
    Posts
    13
    Years
    • Seen Nov 2, 2016
    The main things needing changing would be the damage formula, the catch rate/stay in ball formula(s), and all the formulas for each stat. I have all of these documented somewhere on my computer, just can't find them.

    After that you'd probably want to have tools for editing all the data for pokemon over lvl 100 (attacks, evolutions etc.). Butfor what?

    I don't think the lvl cap needs to be any higher. Lower, if anything. But by all means.
     

    KururuMan

    Advanced Hacker
    4
    Posts
    10
    Years
    • Seen Mar 1, 2015
    I have also been wondering about this and i think leveling up pokemon past lv100 could be very useful. You would have to have a lv255 cap and calculate stat changes somehow. I was thinking about this earlier and noticed you could use a gameshark cheat and [S-HIGHLIGHT]SAVE[/S-HIGHLIGHT]it to the game.
     
    Back
    Top