Magic Leveling & Experience
Posted: Wed Jul 30, 2014 11:11 am
So if you all remember the work Marsil79 did on the seru leveling, I decided to finish it and finally dug into proving their work through the game's code.
The Experience table they devised is 100% accurate:
Lv 2: 18
Lv 3: 51
Lv 4: 93
Lv 5: 145
Lv 6: 209
Lv 7: 289
Lv 8: 393
Lv 9: 537
The experience rewarded for damage done is slightly off though.
| 12xp: damage the enemy for 100% of it's max HP |
| 11xp: damage the enemy for 91.50%-99.99% of it's max HP |
| 10xp: damage the enemy for 83.00%-91.49% of it's max HP |
| 9xp: damage the enemy for 74.50%-82.99% of it's max HP |
| 8xp: damage the enemy for 66.00%-74.49% of it's max HP |
| 7xp: damage the enemy for 57.50%-65.99% of it's max HP |
| 6xp: damage the enemy for 50.50%-57.49% of it's max HP |
| 5xp: damage the enemy for 42.00%-50.49% of it's max HP |
| 4xp: damage the enemy for 33.50%-41.99% of it's max HP |
| 3xp: damage the enemy for 25.00%-33.49% of it's max HP |
| 2xp: damage the enemy for 17.50%-24.99% of it's max HP |
| 1xp: damage the enemy for 08.50%-17.49% of it's max HP |
| 0xp: damage the enemy for 00.00%-08.49% of it's max HP |
You are rewarded 1 exp for every 1/12th of the enemy's Max HP you do in damage. So like Marsil79 had, if you did 99.99% you would only get 11 exp. You are only rewarded 12 exp on the full amount.
Here are the values adjusted in percentage like above:
| 12xp: damage the enemy for 100% of it's max HP |
| 11xp: damage the enemy for 91.66%-99.99% of it's max HP |
| 10xp: damage the enemy for 83.33%-91.65% of it's max HP |
| 9xp: damage the enemy for 75.00%-83.32% of it's max HP |
| 8xp: damage the enemy for 66.66%-74.99% of it's max HP |
| 7xp: damage the enemy for 58.33%-66.65% of it's max HP |
| 6xp: damage the enemy for 50.00%-58.32% of it's max HP |
| 5xp: damage the enemy for 41.66%-49.99% of it's max HP |
| 4xp: damage the enemy for 33.33%-41.65% of it's max HP |
| 3xp: damage the enemy for 25.00%-33.32% of it's max HP |
| 2xp: damage the enemy for 16.66%-24.99% of it's max HP |
| 1xp: damage the enemy for 08.33%-16.65% of it's max HP |
| 0xp: damage the enemy for 00.00%-08.32% of it's max HP |
These values are more accurate if you use repeating such as 16.6666666666666666666%. However, you could just calculate it like the game does:
damage * 12 / maxHP
This is the reduced simple formula that I came up with. The actual step by step formula that the game executes in code is this:
(damage + damage * 2) * 4 / maxHP
The Experience table they devised is 100% accurate:
Lv 2: 18
Lv 3: 51
Lv 4: 93
Lv 5: 145
Lv 6: 209
Lv 7: 289
Lv 8: 393
Lv 9: 537
The experience rewarded for damage done is slightly off though.
| 12xp: damage the enemy for 100% of it's max HP |
| 11xp: damage the enemy for 91.50%-99.99% of it's max HP |
| 10xp: damage the enemy for 83.00%-91.49% of it's max HP |
| 9xp: damage the enemy for 74.50%-82.99% of it's max HP |
| 8xp: damage the enemy for 66.00%-74.49% of it's max HP |
| 7xp: damage the enemy for 57.50%-65.99% of it's max HP |
| 6xp: damage the enemy for 50.50%-57.49% of it's max HP |
| 5xp: damage the enemy for 42.00%-50.49% of it's max HP |
| 4xp: damage the enemy for 33.50%-41.99% of it's max HP |
| 3xp: damage the enemy for 25.00%-33.49% of it's max HP |
| 2xp: damage the enemy for 17.50%-24.99% of it's max HP |
| 1xp: damage the enemy for 08.50%-17.49% of it's max HP |
| 0xp: damage the enemy for 00.00%-08.49% of it's max HP |
You are rewarded 1 exp for every 1/12th of the enemy's Max HP you do in damage. So like Marsil79 had, if you did 99.99% you would only get 11 exp. You are only rewarded 12 exp on the full amount.
Here are the values adjusted in percentage like above:
| 12xp: damage the enemy for 100% of it's max HP |
| 11xp: damage the enemy for 91.66%-99.99% of it's max HP |
| 10xp: damage the enemy for 83.33%-91.65% of it's max HP |
| 9xp: damage the enemy for 75.00%-83.32% of it's max HP |
| 8xp: damage the enemy for 66.66%-74.99% of it's max HP |
| 7xp: damage the enemy for 58.33%-66.65% of it's max HP |
| 6xp: damage the enemy for 50.00%-58.32% of it's max HP |
| 5xp: damage the enemy for 41.66%-49.99% of it's max HP |
| 4xp: damage the enemy for 33.33%-41.65% of it's max HP |
| 3xp: damage the enemy for 25.00%-33.32% of it's max HP |
| 2xp: damage the enemy for 16.66%-24.99% of it's max HP |
| 1xp: damage the enemy for 08.33%-16.65% of it's max HP |
| 0xp: damage the enemy for 00.00%-08.32% of it's max HP |
These values are more accurate if you use repeating such as 16.6666666666666666666%. However, you could just calculate it like the game does:
damage * 12 / maxHP
This is the reduced simple formula that I came up with. The actual step by step formula that the game executes in code is this:
(damage + damage * 2) * 4 / maxHP