Im hacking pokemon gold and I want to increase the stat difference between levels.
For example I want lvl 5 to be much stronger than lvl 3.
But I can find nothing in it that could do the thing I want.
Use Mateo's Pokémon Editor Ultimate.
Doenst work, because if I raise the base stat of a pokemon it will be stronger at lvl 5 but also on lvl 3 resulting in the same procentual difference.
I do have an Idea but i need some help there..
I wanna add something in there.
Can someone help me adding something like this?
You've got to hack the routine that determines the stat values based on level and DV/IV values.
Asm and debugging knowledge required.
and how about the damage formule idea?
Maybe it's easier to do it that way?
So what do you even want to do exactly?
Not increase the stats but increase the damage inflicted by each move (by that pattern you've shown there) ?
That'd be probably easily doable, but... who would want to do it?
I want to make levels more important. So that a level 5 is stronger than a level 3. And a level 30 is stronger than a level 26.
I dont really care how its done. Giving the higher pokemon alot more stats, or just alot more defence/attack power.
So this means that the pokemon on level 5 will do 20% more damage on a lvl 3 because its 2 levels higher.
Well, it can be done but would require some coding to do.
You can code all kinds of mathematical routines with assembly. Or well, not really something like square or squareroot, but you can do adding, subtracting, multiplying (and dividing) pretty easily.
What kind of programs do I need and what kind of thing do I have to read to understand what I'm doing?
You've to be familiar with editing all kinds of data with a hex editor, knowing how to program in general, understanding z80 assembly, and knowing how to use a debugger efficiently. I can do all of these, at least somewhat, and might be able to finish the stuff.
But if you really want to try and learn how to hack, I'd advise my video tutorials to you as well. Onwards from part 7, it starts to come "close" to doing this kind of stuff too.
Took a long time, but I've watched all your hacking tutorial videos, part 4A and 4b too.
I had some trouble with the last part, push and pop, but I understand that well too now.
Thank you for those videos, they are really well done and easy to follow :). Good job.
What do you advise me now in order to modify the damage formule?
How would write a routine for the damage formula?
I do not really know how to find the routine for this formule.
Do you have the link to part 9 somewhere?
I dont know how to do things as multiplying too. Can't find a code for it in the ASM Commands text document.
Many implementations will actually use a trick to multiply quicker. They will perform a switch of operands so the multiplier is smaller than the multiplicand, so the summation loop runs faster. Also, many implementations will optimize the multiplication runtime by performing logic shifts on the operands using the dual number as a place value system for summands to arrive at their result in near-constant time instead of linear time.
Can anyone tell me where I can find the asm routine for the damage formule?
Or at least how to find it?
I know that it will search for certain values in ram: level, attack own pokemon and the defence of the enemy.
I cannot find the commands in GbAsmEdit so..
Download bgb emulator and open the rom, and debugger.
Set a breakpoint to the ram address where damage is stored and the emulator should stop executing at that part of the "program".
Next, you can debug the routine further on if you need to.
How to set a breakpoint to a ram adress?
Also were is the damage stored? it's not documented in the ram map.
Because I dont know were the damage is stored I used the ram adress for enemy defence stat as a breakpoint. (the defence is used in the damage formula).
I did an attack and the emulator halted.
What do I have to do next? Its halfway in the damage formula now, but i dont know where it starts and where it ends, also I dont know how to edit it in this bgb emulator.
Thanks alot for this information :D.
I will look deeper into it, cuz its hard for me to understand this all at this moment.