First, go to Line 134 of the Game_Actor class of the "Game Objects" array of scripts, and look for this:
CODE
#--------------------------------------------------------------------------
# * Calculate Experience
#--------------------------------------------------------------------------
def make_exp_list
@exp_list[1] = @exp_list[100] = 0
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0;
for i in 2..99
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n;
n *= 0.9;
end
end
After the def make_exp_list line, you'll see @exp_list[1] = @exp_list[100] = 0.
"@exp_list[x] = y" defines the amount of experience (y) required to reach x level. The things after that are variables and the equation used to calculate the experience curve in the database.
Then, we'll focus on the exp_list thingy. After "@exp_list[1] = @exp_list[100] = 0" start making your exp chart as desired like in this example:
CODE
#--------------------------------------------------------------------------
# * Calculate Experience
#--------------------------------------------------------------------------
def make_exp_list
@exp_list[1] = @exp_list[100] = 0
@exp_list[2] = 20
@exp_list[3] = 50
@exp_list[4] = 90
@exp_list[5] = 140
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0;
for i in 2..99
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n;
n *= 0.9;
end
end
See? That's how you set a custom amount of exp for each level, and you can continue until level 99 if you'd like. But wait! There's one more thing you have to do. See that "for i in 2..99" there? That determines which levels are affected by the equation calculation. We want to use our own custom experience curve so we don't want that baddie equation to interfere. If you're setting each level up to level 100 manually, you might want to change that 2..99 to levels which will be impossible to attain (if you're not using LimitBreak, but I'll delve deeper into that later).
CODE
#--------------------------------------------------------------------------
# * Calculate Experience
#--------------------------------------------------------------------------
def make_exp_list
@exp_list[1] = @exp_list[100] = 0
@exp_list[2] = 20
@exp_list[3] = 50
@exp_list[4] = 90
@exp_list[5] = 140
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0;
for i in 101..102
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n;
n *= 0.9;
end
end
So there we go. Impossible to attain levels are used for the equation so they will not interfere with our custom chart.
_______________________________________________________________________
For those who are using the KGC_LimitBreak script: Since it overrides the Game_Actor data, you'll have to check line 308 and onwards:
CODE
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 経験値計算
#--------------------------------------------------------------------------
def make_exp_list
@exp_list = Array.new(final_level + 2)
@exp_list[1] = 0
@exp_list[2] = 20
@exp_list[3] = 50
@exp_list[4] = 90
@exp_list[5] = 140
@exp_list[final_level + 1] = 0
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0
(151..final_level).each { |i|
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 0.0
n *= 0.0
}
end