![]() |
Pokemon above level 100
Hi, I'm Niven.
I was wondering if there is a way to battle and/or capture a pokemon above level 100. If I'm not mistaken, the level of a pokemon takes up 1 byte so it should have a maximum value of 255. I don't know how this could be done at all, but I do believe it to be possible. I know the answer could be as simple as temporarily changing a flag that checks a pokemon's level (even though to me that's not simple) to allow a level above 100 (120, for example), or as complicated as one of those ginormous ASM routines. I'm asking because I think that it could come in handy in a later part of my hack. I'm using the US version of fire red. version 1.0. Also, I'm using JPAN's hacked engine. So is it possible, and if so, how could it be done? P.S credit will be given to whoever figures it out, and any and all help is welcome and appreciated. |
Well, after a little hex editing, I changed a trainer's pokemon to level 101, and this was the result:
http://www.pokecommunity.com/attachment.php?attachmentid=62279&stc=1&d=1318698009 Also, when the trainer battle started, it said the other trainer had no pokemon. However, this obviously due to the missingo. and not the level change. Note: I changed the trainer's pokemon to be a level 101 mew. I know this isn't what you meant, but it does prove that pokemon are not allowed in game over level 100, and what happens if they are. |
I had tried doing something like that before (hoping it would be a simple feat), and the same thing happened. I figure that to do this, there's probably some sort of routine of variable that stops a pokemon from leveling up, and replaces it with a level 0 ???, if it's level is set above that through hacking, that would need to be removed/modified. I would try to search the game for such a thing, but I have no idea how people do stuff like that. I hope that some of the experts and more experienced hackers will take a look at this.
|
I was able to set the enemy pokemon to a level >100, but stats had to be recalculated manually.
http://img148.imageshack.us/img148/1412/synthrom.png |
First off, why would you want to do this? The level 100 cap is something that's been in the series since the beginning and changing it makes no sense.
Second, removing the cap could interfere with exp curves and lead to Pokemon leveling to level 255, then reseting at level 0, making them stuck at a heinous state forever. Just keep it as is; removing the cap is only going to make things get nasty, especially at your skill level. |
@Corvidae Well, I want to do this because I've always hated to that you can only reach lv 100. It annoys me, to no end. Also, I don't think it has been done before in a hack, and I would like to be the first. I see what you mean, but I made this thread cause I know that it would just mess up the game at "my skill level," and hacking is about being able to do things that nintendo didn't do and you have always wanted to see. And I don't actually want to remove the level cap completely, just temporarily for one trainer battle.
@Mr. PKMN Can you tell me how you were able to do that. Any bit of information could help, me or someone else, figure out a way to do this. |
Temporarily for one battle?!
What kind of role is that supposed to play in a Pokemon game? >_> Pokemon don't just skedaddle between levels you know. That will probably end up confusing your poor fans, even if you managed to get it to work with absolutely no problems. There's no place for a mechanic like this in a Pokemon game... It doesn't matter if you're the first to come up with triangular wheels, its still not a good idea. On another note he probably edited the memory while in-game, or hacked it to display a larger value over 100 with a script of some sort. Once you catch a Pokemon like that they'll revert to level 100 and have a screwed up EXP value. |
I was thinking that an evil organization invents some sort of thing, that strengthens pokemon, and makes them evil, then uses it one his pokemon. That way you battle Pokemon above the usual cap of lv 100, to make it more of a challenge. If you don't like the idea, then stop just posing negative comments on this thread. You don't have to look,think, or be involved with this thread at all in any way if you don't like the idea. Your posts are just wasting my time, and I don't care if you don't like the idea. I would like to see it happen, to make my hack more unique, and believe it can be done. You might not, so just don't bother your time with my idea.
|
If I'm not mistaken, you can do this in the second generation games, but anything after that leveling your Pokémon past 100 causes problems. Although I'm sure there's a way, it just wouldn't be something anyone could do just because they're bored. It'll require a bit of research.
|
Quote:
Quote:
Quote:
|
Quote:
The first generation actually HAD gap 255 instead of 100 ;) Not like you could reach that level in the normal way but still Missignos, numbers, characters, etc... had levels over 100. ;) |
considering thats code, i doubt thats an area youd want to mess with if u dont know EXACTLY what your doing. besides arent the amounts of EXP programed for each pokemon by it's species? O_o
|
Quote:
Technically speaking, there are six EXP progressions (which are assigned per-species, but there isn't one for each species) that each map to mathematical equations/functions. However, they aren't implemented as functions; IIRC Game Freak actually manually calculated out the values for each level for each equation, and stored the values as lists inside the game engine. To get EXP to work with Pokemon above Level 100, you either need to extend those lists and modify the parts of the game engine that read them, or simply code in a special-case code for Level 101+ Pokemon. Quote:
|
@davidjcobb For what I'm hoping to do, I think that it would need a special case code. Also, since it's intended for an enemy pokemon only, I won't need to worry about the EXP and all that stuff too much, will I? Could you tell me the basics of making a code like that?
|
Quote:
|
In FireRed, there is a stat decrypter at 0x3FBE8, while there is a stat encrypter around 0x41000. I can't remember the exact location off the top of my head.
These use indices in order to decrypt/decrypt the wanted piece of data from the Party data. You pass it the Pokemon's party location in R0, the index in R1, and occassionally some other piece of data in R2. For a list of indices, see HackMew's post in "Modernizing the Fire Red field engine". More specifically, the post which contains his code for the field effects of the Magma Body ability. Changing the level would indeed mean that updating the checksum would be required IIRC. However, it should change it to a bad EGG rather than a missingno. |
If i remember correctly in (I think) ruby had a game-shark code that maxed the level to 225.
I think its possible and a great idea too. But yes stats have to be manually edited. |
I saw this vid on youtube which tells you how to get a level 101 pokemon on pokemon Diamond/Pearl/Platinum (It didn't tell you how to use it on HG/SS, and he used platinum for the demo) He used action replay and after, his save file got trashed
|
What you should do is set the wild battle, then use ASM to set the temporary stats to 255. It will be hard to beat, and you won't break the game.
|
I will start out by saying this happened on a copy of Red I lost quite some time ago. I used a GameShark to turn a Raticate into a Mew. I used a bunch of Rare Candies I got from using Missingno to level it up to 100, then while fighting the Elite Four my Mew leveled up to 101. I used a Rare Candy on it once and it went back down to level 100. I have no explanation for how or why any of this happened.
|
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. |
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. |
I think you can. I'm pretty sure anything in Pokemon can be hacked up to 255.
|
*sigh* If only things were as easy as they were in the 1st gen... (Hint: Missingno glitch could do this...)
|
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. |
| All times are GMT -8. The time now is 8:39 AM. |
![]()
© 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.