Adds debug option to set a Pokémon's level to the current level cap

This commit is contained in:
chardub
2025-04-09 12:01:40 -04:00
parent eb694dcdb5
commit 80de6b019d

View File

@@ -201,14 +201,24 @@ PokemonDebugMenuCommands.register("setlevel", {
if pkmn.egg? if pkmn.egg?
screen.pbDisplay(_INTL("{1} is an egg.", pkmn.name)) screen.pbDisplay(_INTL("{1} is an egg.", pkmn.name))
else else
params = ChooseNumberParams.new screen.pbRefreshSingle(pkmnid)
params.setRange(1, GameData::GrowthRate.max_level)
params.setDefaultValue(pkmn.level) if $PokemonSystem.level_caps==1
level = pbMessageChooseNumber( choice= pbMessage(_INTL("Set to which level?"),[_INTL("Set to level cap"), _INTL("Set to specific level"), _INTL("Cancel")],2)
_INTL("Set the Pokémon's level (max. {1}).", params.maxNumber), params) { screen.pbUpdate } if choice==0
if level != pkmn.level level = getCurrentLevelCap()
elsif choice == 1
level = promptSetLevelToNumber(pkmn,screen)
else
return
end
else
level = promptSetLevelToNumber(pkmn,screen)
end
if level && level != pkmn.level
pkmn.level = level pkmn.level = level
pkmn.calc_stats pkmn.calc_stats
screen.pbUpdate
screen.pbRefreshSingle(pkmnid) screen.pbRefreshSingle(pkmnid)
end end
end end
@@ -216,6 +226,15 @@ PokemonDebugMenuCommands.register("setlevel", {
} }
}) })
def promptSetLevelToNumber(pkmn,screen)
params = ChooseNumberParams.new
params.setRange(1, GameData::GrowthRate.max_level)
params.setDefaultValue(pkmn.level)
level = pbMessageChooseNumber(
_INTL("Set the Pokémon's level (max. {1}).", params.maxNumber), params) { screen.pbUpdate }
return level
end
PokemonDebugMenuCommands.register("setexp", { PokemonDebugMenuCommands.register("setexp", {
"parent" => "levelstats", "parent" => "levelstats",
"name" => _INTL("Set Exp"), "name" => _INTL("Set Exp"),