The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.


Advertise here

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #1    
Old October 12th, 2011, 06:27 PM
niven's Avatar
niven
Leader of Team LegendaryTrio
 
Join Date: Jul 2011
Location: Where I'm sittin'
Age: 16
Gender: Male
Nature: Brave

Advertise here
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.
__________________
Leader of Team LegendaryTrio


____________________________________________________________________

"We cannot do everything for
Africa, but doing nothing is not
an option" - Lee H. Hamilton

Last edited by niven; October 15th, 2011 at 07:43 AM.
Reply With Quote
  #2    
Old October 15th, 2011, 09:02 AM
itari's Avatar
itari
悪魔の妹
Community Supporter
 
Join Date: Mar 2010
Location: 紅魔館
Age: 17
Gender: Female
Nature: Relaxed
Well, after a little hex editing, I changed a trainer's pokemon to level 101, and this was the result:



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.
Attached Images
File Type: png lv101.png‎ (5.4 KB, 1968 views) (Save to Dropbox)
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #3    
Old October 15th, 2011, 09:10 AM
niven's Avatar
niven
Leader of Team LegendaryTrio
 
Join Date: Jul 2011
Location: Where I'm sittin'
Age: 16
Gender: Male
Nature: Brave
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.
__________________
Leader of Team LegendaryTrio


____________________________________________________________________

"We cannot do everything for
Africa, but doing nothing is not
an option" - Lee H. Hamilton
Reply With Quote
  #4    
Old October 15th, 2011, 09:55 AM
Mr.Pkmn
Someone making a pokemon hack
 
Join Date: May 2008
I was able to set the enemy pokemon to a level >100, but stats had to be recalculated manually.

Reply With Quote
  #5    
Old October 15th, 2011, 10:02 AM
daigonite's Avatar
daigonite
Forgive my grandiloquence, but this is how I feel.
Community Supporter
 
Join Date: Feb 2009
Location: With the Birds
Age: 21
Nature: Impish
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.
__________________
Reply With Quote
  #6    
Old October 15th, 2011, 11:14 AM
niven's Avatar
niven
Leader of Team LegendaryTrio
 
Join Date: Jul 2011
Location: Where I'm sittin'
Age: 16
Gender: Male
Nature: Brave
@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.
__________________
Leader of Team LegendaryTrio


____________________________________________________________________

"We cannot do everything for
Africa, but doing nothing is not
an option" - Lee H. Hamilton
Reply With Quote
  #7    
Old October 15th, 2011, 11:17 AM
daigonite's Avatar
daigonite
Forgive my grandiloquence, but this is how I feel.
Community Supporter
 
Join Date: Feb 2009
Location: With the Birds
Age: 21
Nature: Impish
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.
__________________
Reply With Quote
  #8    
Old October 15th, 2011, 11:23 AM
niven's Avatar
niven
Leader of Team LegendaryTrio
 
Join Date: Jul 2011
Location: Where I'm sittin'
Age: 16
Gender: Male
Nature: Brave
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.
__________________
Leader of Team LegendaryTrio


____________________________________________________________________

"We cannot do everything for
Africa, but doing nothing is not
an option" - Lee H. Hamilton
Reply With Quote
  #9    
Old October 15th, 2011, 12:46 PM
The Author's Avatar
The Author
The Hero of Knothole Glade
 
Join Date: Sep 2011
Location: Knothole Glade
Age: 16
Gender: Male
Nature: Quiet
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.
__________________
The Disciple
The Poet
The Leader
The Musician
The Transcendentalist

The Author
The Philosopher
The Architect
The Psychologist
The Artist
Reply With Quote
  #10    
Old October 15th, 2011, 02:26 PM
Mr.Pkmn
Someone making a pokemon hack
 
Join Date: May 2008
Quote:
Originally Posted by niven View Post
@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.
ASM. My first one too.

Quote:
Originally Posted by Corvidae View Post
First off, why would you want to do this?
Because I needed to overpower the player's (ev trained) lv 100 pokemon in order to balance the crappy AI and still give a challenge.

Quote:
Originally Posted by Corvidae View Post
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.
Not my concern, as my purpose was intended for enemy pokemon.
Reply With Quote
  #11    
Old October 15th, 2011, 10:31 PM
Satoshi Ookami's Avatar
Satoshi Ookami
Memento Mori
Community Supporter
 
Join Date: Jul 2008
Location: Abyss of Time, Great Seal
Age: 22
Gender: Male
Nature: Calm
Quote:
Originally Posted by Corvidae View Post
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.
Well you are not exactly right.
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.
__________________
ROM hacking FAQ - Read before asking how to play a hack. | Previous Sign 2 | Previous Sign

Anime List | PSN Trophy List
Reply With Quote
  #12    
Old October 15th, 2011, 11:11 PM
blakfyr999's Avatar
blakfyr999
PWNGE Trainer
 
Join Date: Oct 2011
Location: Indianapolis/The Moon
Age: 20
Gender: Male
Nature: Bold
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
Reply With Quote
  #13    
Old October 16th, 2011, 01:11 AM
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
Quote:
Originally Posted by blakfyr999 View Post
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
Close.

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:
Originally Posted by agentgeo View Post
Well, after a little hex editing, I changed a trainer's pokemon to level 101, and this was the result:



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.
The "?????????" glitch Pokemon may not be a result of modifying the level in and of itself, but rather of modifying the level without recalculating the checksum. Did you modify the trainer data, the routine that generated the Pokemon, or the already-generated 100-byte Pokemon data structure kept in RAM?
__________________
Reply With Quote
  #14    
Old October 16th, 2011, 05:04 AM
niven's Avatar
niven
Leader of Team LegendaryTrio
 
Join Date: Jul 2011
Location: Where I'm sittin'
Age: 16
Gender: Male
Nature: Brave
@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?
__________________
Leader of Team LegendaryTrio


____________________________________________________________________

"We cannot do everything for
Africa, but doing nothing is not
an option" - Lee H. Hamilton
Reply With Quote
  #15    
Old October 16th, 2011, 12:57 PM
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
Quote:
Originally Posted by niven View Post
@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?
Well, I'm not familiar with the ASM that handles Pokemon stats, so unfortunately, I don't know enough to tell you where specifically to start.
__________________
Reply With Quote
  #16    
Old October 16th, 2011, 11:28 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
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.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; October 16th, 2011 at 11:31 PM. Reason: Derp. According to me, there's 2 stat decrypters...
Reply With Quote
  #17    
Old October 23rd, 2011, 06:42 AM
_Garret's Avatar
_Garret
Digital Angels Inc.
 
Join Date: Aug 2011
Age: 17
Nature: Lonely
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.
Reply With Quote
  #18    
Old February 7th, 2012, 11:33 AM
darkdarkrai's Avatar
darkdarkrai
No. 1 World at war fanboy
 
Join Date: Jun 2011
Location: Down the street
Gender: Male
Nature: Jolly
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
__________________
Do NOT friend me on xbox! I have my own private xbox account for me and my (real) friends only. If you want to friend me on Xbox, my other account that I will set up in a couple of months is
Called darkdarkrai_97. But I will not be able to join parties, as it
is a free one!

I support



Reply With Quote
  #19    
Old February 7th, 2012, 08:17 PM
droomph's Avatar
droomph
mmm gurl that 90s
Community Supporter
 
Join Date: Sep 2011
Location: bar'jách
Age: 17
Gender: Male
Nature: Impish
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.
__________________
did u no there r 21 letters in the alphabet
o i forgot 5
uraqt


Reply With Quote
  #20    
Old February 7th, 2012, 11:12 PM
Capn Nemo
Beginning Trainer
 
Join Date: Mar 2011
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.
Reply With Quote
  #21    
Old February 27th, 2012, 09:07 AM
robosllim's Avatar
robosllim
Unhatched Egg
 
Join Date: Jan 2012
Gender: Male
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.
Reply With Quote
  #22    
Old May 12th, 2012, 11:47 PM
buggy131313
Beginning Trainer
 
Join Date: May 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.
Reply With Quote
  #23    
Old May 29th, 2012, 08:54 PM
Renegade's Avatar
Renegade
Time for real life...
 
Join Date: Nov 2011
Location: United States
Gender: Male
Nature: Careful
I think you can. I'm pretty sure anything in Pokemon can be hacked up to 255.
Reply With Quote
  #24    
Old June 10th, 2012, 11:41 AM
POKEMONMASTER260
 
Join Date: Jun 2009
*sigh* If only things were as easy as they were in the 1st gen... (Hint: Missingno glitch could do this...)
__________________
I don't use, "uber," Pokemon, I don't calculate stat values, I don't use cheating devices, I don't breed my way to perfection, and I don't care about natures. I catch my Pokemon the way they are, and treat them like individuals instead of brainless drones. If you use this philosophy, copy & paste this into your signature.

Last edited by POKEMONMASTER260; June 10th, 2012 at 12:07 PM.
Reply With Quote
  #25    
Old July 17th, 2012, 01:24 PM
RyanE.Johnson
Beginning Trainer
 
Join Date: Jul 2012
Gender: Male
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.
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 07:00 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 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 - 2014 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.