diff --git a/Data/Scripts/020_Debug/003_Debug menus/005_Debug_PokemonCommands.rb b/Data/Scripts/020_Debug/003_Debug menus/005_Debug_PokemonCommands.rb index 1bf68c657..e4c26d729 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/005_Debug_PokemonCommands.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/005_Debug_PokemonCommands.rb @@ -201,14 +201,24 @@ PokemonDebugMenuCommands.register("setlevel", { if pkmn.egg? screen.pbDisplay(_INTL("{1} is an egg.", pkmn.name)) else - 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 } - if level != pkmn.level + screen.pbRefreshSingle(pkmnid) + + if $PokemonSystem.level_caps==1 + choice= pbMessage(_INTL("Set to which level?"),[_INTL("Set to level cap"), _INTL("Set to specific level"), _INTL("Cancel")],2) + if choice==0 + 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.calc_stats + screen.pbUpdate screen.pbRefreshSingle(pkmnid) 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", { "parent" => "levelstats", "name" => _INTL("Set Exp"),