Added class GameData::GrowthRate

This commit is contained in:
Maruno17
2021-02-23 22:20:34 +00:00
parent f302d8346a
commit eda534f3be
24 changed files with 245 additions and 261 deletions

View File

@@ -195,7 +195,7 @@ DebugMenuCommands.register("testwildbattle", {
species = pbChooseSpeciesList
if species
params = ChooseNumberParams.new
params.setRange(1, PBExperience.maxLevel)
params.setRange(1, GameData::GrowthRate.max_level)
params.setInitialValue(5)
params.setCancelValue(0)
level = pbMessageChooseNumber(_INTL("Set the wild {1}'s level.",
@@ -251,7 +251,7 @@ DebugMenuCommands.register("testwildbattleadvanced", {
species = pbChooseSpeciesList
if species
params = ChooseNumberParams.new
params.setRange(1, PBExperience.maxLevel)
params.setRange(1, GameData::GrowthRate.max_level)
params.setInitialValue(5)
params.setCancelValue(0)
level = pbMessageChooseNumber(_INTL("Set the wild {1}'s level.",
@@ -508,7 +508,7 @@ DebugMenuCommands.register("addpokemon", {
species = pbChooseSpeciesList
if species
params = ChooseNumberParams.new
params.setRange(1, PBExperience.maxLevel)
params.setRange(1, GameData::GrowthRate.max_level)
params.setInitialValue(5)
params.setCancelValue(0)
level = pbMessageChooseNumber(_INTL("Set the Pokémon's level."), params)

View File

@@ -252,7 +252,7 @@ def pbDebugDayCare
textpos.push([_INTL("Genderless"),8+i*Graphics.width/2,y,0,base,shadow])
end
y += 32
if initlevel>=PBExperience.maxLevel
if initlevel>=GameData::GrowthRate.max_level
textpos.push(["Lv. #{initlevel} (max)",8+i*Graphics.width/2,y,0,base,shadow])
elsif leveldiff>0
textpos.push(["Lv. #{initlevel} -> #{pkmn.level} (+#{leveldiff})",
@@ -261,8 +261,8 @@ def pbDebugDayCare
textpos.push(["Lv. #{initlevel} (no change)",8+i*Graphics.width/2,y,0,base,shadow])
end
y += 32
if pkmn.level<PBExperience.maxLevel
endexp = PBExperience.pbGetStartExperience(pkmn.level+1,pkmn.growth_rate)
if pkmn.level<GameData::GrowthRate.max_level
endexp = pkmn.growth_rate.minimum_exp_for_level(pkmn.level + 1)
textpos.push(["To next Lv.: #{endexp-pkmn.exp}",8+i*Graphics.width/2,y,0,base,shadow])
y += 32
end

View File

@@ -196,12 +196,11 @@ PokemonDebugMenuCommands.register("setlevel", {
if pkmn.egg?
screen.pbDisplay(_INTL("{1} is an egg.", pkmn.name))
else
mLevel = PBExperience.maxLevel
params = ChooseNumberParams.new
params.setRange(1, mLevel)
params.setRange(1, GameData::GrowthRate.max_level)
params.setDefaultValue(pkmn.level)
level = pbMessageChooseNumber(
_INTL("Set the Pokémon's level (max. {1}).", mLevel), params) { screen.pbUpdate }
_INTL("Set the Pokémon's level (max. {1}).", params.maxNumber), params) { screen.pbUpdate }
if level != pkmn.level
pkmn.level = level
pkmn.calcStats
@@ -219,8 +218,8 @@ PokemonDebugMenuCommands.register("setexp", {
if pkmn.egg?
screen.pbDisplay(_INTL("{1} is an egg.", pkmn.name))
else
minxp = PBExperience.pbGetStartExperience(pkmn.level, pkmn.growth_rate)
maxxp = PBExperience.pbGetStartExperience(pkmn.level + 1, pkmn.growth_rate)
minxp = pkmn.growth_rate.minimum_exp_for_level(pkmn.level)
maxxp = pkmn.growth_rate.minimum_exp_for_level(pkmn.level + 1)
if minxp == maxxp
screen.pbDisplay(_INTL("{1} is at the maximum level.", pkmn.name))
else

View File

@@ -650,7 +650,7 @@ module TrainerPokemonProperty
initsetting[:happiness],
initsetting[:poke_ball]
])
max_level = PBExperience.maxLevel
max_level = GameData::GrowthRate.max_level
pkmn_properties = [
[_INTL("Species"), SpeciesProperty, _INTL("Species of the Pokémon.")],
[_INTL("Level"), NonzeroLimitProperty.new(max_level), _INTL("Level of the Pokémon (1-{1}).", max_level)],
@@ -956,7 +956,7 @@ def pbPokemonEditor
[_INTL("BaseStats"), BaseStatsProperty, _INTL("Base stats of the Pokémon.")],
[_INTL("EffortPoints"), EffortValuesProperty, _INTL("Effort Value points earned when this species is defeated.")],
[_INTL("BaseEXP"), LimitProperty.new(9999), _INTL("Base experience earned when this species is defeated.")],
[_INTL("GrowthRate"), EnumProperty2.new(PBGrowthRates), _INTL("Pokémon's growth rate.")],
[_INTL("GrowthRate"), GameDataProperty.new(:GrowthRate), _INTL("Pokémon's growth rate.")],
[_INTL("GenderRate"), GameDataProperty.new(:GenderRatio), _INTL("Proportion of males to females for this species.")],
[_INTL("Rareness"), LimitProperty.new(255), _INTL("Catch rate of this species (0-255).")],
[_INTL("Happiness"), LimitProperty.new(255), _INTL("Base happiness of this species (0-255).")],

View File

@@ -945,7 +945,7 @@ module MovePoolProperty
entry = realcmds[cmd[1]]
if entry[0] == -1 # Add new move
params = ChooseNumberParams.new
params.setRange(0, PBExperience.maxLevel)
params.setRange(0, GameData::GrowthRate.max_level)
params.setDefaultValue(1)
params.setCancelValue(-1)
newlevel = pbMessageChooseNumber(_INTL("Choose a level."),params)
@@ -971,7 +971,7 @@ module MovePoolProperty
[_INTL("Change level"), _INTL("Change move"), _INTL("Delete"), _INTL("Cancel")], 4)
when 0 # Change level
params = ChooseNumberParams.new
params.setRange(0, PBExperience.maxLevel)
params.setRange(0, GameData::GrowthRate.max_level)
params.setDefaultValue(entry[0])
newlevel = pbMessageChooseNumber(_INTL("Choose a new level."), params)
if newlevel >= 0 && newlevel != entry[0]
@@ -1405,7 +1405,7 @@ end
module EncounterSlotProperty
def self.set(setting_name, data)
max_level = PBExperience.maxLevel
max_level = GameData::GrowthRate.max_level
if !data
data = [20, nil, 5, 5]
GameData::Species.each do |species_data|