From 80de6b019d2c31a4e30e1654ac130e3212f110df Mon Sep 17 00:00:00 2001 From: chardub Date: Wed, 9 Apr 2025 12:01:40 -0400 Subject: [PATCH] =?UTF-8?q?Adds=20debug=20option=20to=20set=20a=20Pok?= =?UTF-8?q?=C3=A9mon's=20level=20to=20the=20current=20level=20cap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../005_Debug_PokemonCommands.rb | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) 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"),