From 022dc7aadb905b6a68ead00c3b5ee5f44c87af7d Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Tue, 21 Dec 2021 20:50:08 +0000 Subject: [PATCH] More additions to the battle debug menu --- .../003_Debug menus/001_Debug_Menus.rb | 137 +++++-- .../003_Debug menus/002_Debug_MenuCommands.rb | 262 ++++++------- .../005_Debug_PokemonCommands.rb | 104 +++--- .../007_Debug_BattleCommands.rb | 30 +- .../008_Debug_BattlerCommands.rb | 350 +++++++++--------- 5 files changed, 490 insertions(+), 393 deletions(-) diff --git a/Data/Scripts/020_Debug/003_Debug menus/001_Debug_Menus.rb b/Data/Scripts/020_Debug/003_Debug menus/001_Debug_Menus.rb index 219f8e6bf..e2572d53b 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/001_Debug_Menus.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/001_Debug_Menus.rb @@ -238,10 +238,98 @@ module Battle::DebugMixin viewport.dispose end - def pbBattleBattlerDebug(battler, show_all = true) + def pbBattleDebugBattlerInfo(battler) + ret = "" + return ret if battler.nil? + # Battler index, name + ret += sprintf("[%d] %s", battler.index, battler.pbThis) + ret += "\r\n" + # Species + ret += _INTL("Species: {1}", GameData::Species.get(battler.species).name) + ret += "\r\n" + # Form number + ret += _INTL("Form: {1}", battler.form) + ret += "\r\n" + # Level, gender, shininess + ret += _INTL("Level {1}, {2}", battler.level, + (battler.pokemon.male?) ? "♂" : (battler.pokemon.female?) ? "♀" : _INTL("genderless")) + ret += ", " + _INTL("shiny") if battler.pokemon.shiny? + ret += "\r\n" + # HP + ret += _INTL("HP: {1}/{2} ({3}%)", battler.hp, battler.totalhp, (100.0 * battler.hp / battler.totalhp).to_i) + ret += "\r\n" + # Status + ret += _INTL("Status: {1}", GameData::Status.get(battler.status).name) + case battler.status + when :SLEEP + ret += " " + _INTL("({1} rounds left)", battler.statusCount) + when :POISON + if battler.statusCount > 0 + ret += " " + _INTL("(toxic, {1}/16)", battler.effects[PBEffects::Toxic]) + end + end + ret += "\r\n" + # Stat stages + stages = [] + GameData::Stat.each_battle do |stat| + next if battler.stages[stat.id] == 0 + stage_text = "" + stage_text += "+" if battler.stages[stat.id] > 0 + stage_text += battler.stages[stat.id].to_s + stage_text += " " + stat.name_brief + stages.push(stage_text) + end + ret += _INTL("Stat stages: {1}", (stages.empty?) ? "-" : stages.join(", ")) + ret += "\r\n" + # Ability + ret += _INTL("Ability: {1}", (battler.ability) ? battler.abilityName : "-") + ret += "\r\n" + # Held item + ret += _INTL("Item: {1}", (battler.item) ? battler.itemName : "-") + return ret + end + + def pbBattleDebugPokemonInfo(pkmn) + ret = "" + return ret if pkmn.nil? + sp_data = pkmn.species_data + # Name, species + ret += sprintf("%s (%s)", pkmn.name, sp_data.name) + ret += "\r\n" + # Form number + ret += _INTL("Form: {1}", sp_data.form) + ret += "\r\n" + # Level, gender, shininess + ret += _INTL("Level {1}, {2}", pkmn.level, + (pkmn.male?) ? "♂" : (pkmn.female?) ? "♀" : _INTL("genderless")) + ret += ", " + _INTL("shiny") if pkmn.shiny? + ret += "\r\n" + # HP + ret += _INTL("HP: {1}/{2} ({3}%)", pkmn.hp, pkmn.totalhp, (100.0 * pkmn.hp / pkmn.totalhp).to_i) + ret += "\r\n" + # Status + ret += _INTL("Status: {1}", GameData::Status.get(pkmn.status).name) + case pkmn.status + when :SLEEP + ret += " " + _INTL("({1} rounds left)", pkmn.statusCount) + when :POISON + ret += " " + _INTL("(toxic)") if pkmn.statusCount > 0 + end + ret += "\r\n" + # Ability + ret += _INTL("Ability: {1}", pkmn.ability&.name || "-") + ret += "\r\n" + # Held item + ret += _INTL("Item: {1}", pkmn.item&.name || "-") + return ret + end + + def pbBattlePokemonDebug(pkmn, battler = nil) commands = CommandMenuList.new - BattlerDebugMenuCommands.each do |option, hash| - commands.add(option, hash) if show_all || hash["always_show"] + BattlePokemonDebugMenuCommands.each do |option, hash| + next if battler && hash["usage"] == :pokemon + next if !battler && hash["usage"] == :battler + commands.add(option, hash) end viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) viewport.z = 99999 @@ -262,44 +350,11 @@ module Battle::DebugMixin cmd = 0 loop do if need_refresh - help_text = "" - help_text += sprintf("[%d] %s", battler.index, battler.pbThis) - help_text += "\r\n" - help_text += _INTL("Species: {1}", GameData::Species.get(battler.species).name) - help_text += "\r\n" - help_text += _INTL("Form: {1}", battler.form) - help_text += "\r\n" - help_text += _INTL("Level {1}, {2}", battler.level, - (battler.pokemon.male?) ? "♂" : (battler.pokemon.female?) ? "♀" : "genderless") - help_text += ", " + _INTL("Shiny") if battler.pokemon.shiny? - help_text += "\r\n" - help_text += _INTL("HP: {1}/{2} ({3}%)", battler.hp, battler.totalhp, (100.0 * battler.hp / battler.totalhp).to_i) - help_text += "\r\n" - help_text += _INTL("Status: {1}", GameData::Status.get(battler.status).name) - case battler.status - when :SLEEP - help_text += " " + _INTL("({1} rounds left)", battler.statusCount) - when :POISON - if battler.statusCount > 0 - help_text += " " + _INTL("(toxic, {1}/16)", battler.effects[PBEffects::Toxic]) - end + if battler + sprites["infowindow"].text = pbBattleDebugBattlerInfo(battler) + else + sprites["infowindow"].text = pbBattleDebugPokemonInfo(pkmn) end - help_text += "\r\n" - stages = [] - GameData::Stat.each_battle do |stat| - next if battler.stages[stat.id] == 0 - stage_text = "" - stage_text += "+" if battler.stages[stat.id] > 0 - stage_text += battler.stages[stat.id].to_s - stage_text += " " + stat.name_brief - stages.push(stage_text) - end - help_text += _INTL("Stat stages: {1}", (stages.empty?) ? "-" : stages.join(", ")) - help_text += "\r\n" - help_text += _INTL("Ability: {1}", (battler.ability) ? battler.abilityName : "-") - help_text += "\r\n" - help_text += _INTL("Item: {1}", (battler.item) ? battler.itemName : "-") - sprites["infowindow"].text = help_text need_refresh = false end # Choose a command @@ -318,7 +373,7 @@ module Battle::DebugMixin commands.currentList = real_cmd cmd = 0 else - BattlerDebugMenuCommands.call("effect", real_cmd, battler, battler.pokemon, battler.battle) + BattlePokemonDebugMenuCommands.call("effect", real_cmd, pkmn, battler, self) need_refresh = true end end diff --git a/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb b/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb index 9ec3cfce6..38e7ffa94 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/002_Debug_MenuCommands.rb @@ -40,14 +40,14 @@ end #=============================================================================== # Field options #=============================================================================== -DebugMenuCommands.register("fieldmenu", { +DebugMenuCommands.register("field_menu", { "parent" => "main", "name" => _INTL("Field options..."), "description" => _INTL("Warp to maps, edit switches/variables, use the PC, edit Day Care, etc.") }) DebugMenuCommands.register("warp", { - "parent" => "fieldmenu", + "parent" => "field_menu", "name" => _INTL("Warp to Map"), "description" => _INTL("Instantly warp to another map of your choice."), "effect" => proc { |sprites, viewport| @@ -77,8 +77,8 @@ DebugMenuCommands.register("warp", { } }) -DebugMenuCommands.register("refreshmap", { - "parent" => "fieldmenu", +DebugMenuCommands.register("refresh_map", { + "parent" => "field_menu", "name" => _INTL("Refresh Map"), "description" => _INTL("Make all events on this map, and common events, refresh themselves."), "effect" => proc { @@ -88,7 +88,7 @@ DebugMenuCommands.register("refreshmap", { }) DebugMenuCommands.register("switches", { - "parent" => "fieldmenu", + "parent" => "field_menu", "name" => _INTL("Switches"), "description" => _INTL("Edit all Game Switches (except Script Switches)."), "effect" => proc { @@ -97,7 +97,7 @@ DebugMenuCommands.register("switches", { }) DebugMenuCommands.register("variables", { - "parent" => "fieldmenu", + "parent" => "field_menu", "name" => _INTL("Variables"), "description" => _INTL("Edit all Game Variables. Can set them to numbers or text."), "effect" => proc { @@ -105,8 +105,8 @@ DebugMenuCommands.register("variables", { } }) -DebugMenuCommands.register("usepc", { - "parent" => "fieldmenu", +DebugMenuCommands.register("use_pc", { + "parent" => "field_menu", "name" => _INTL("Use PC"), "description" => _INTL("Use a PC to access Pokémon storage and player's PC."), "effect" => proc { @@ -114,8 +114,8 @@ DebugMenuCommands.register("usepc", { } }) -DebugMenuCommands.register("togglewallpapers", { - "parent" => "fieldmenu", +DebugMenuCommands.register("toggle_wallpapers", { + "parent" => "field_menu", "name" => _INTL("Toggle Storage Wallpapers"), "description" => _INTL("Unlock and lock special wallpapers used in Pokémon storage."), "effect" => proc { @@ -152,8 +152,8 @@ DebugMenuCommands.register("togglewallpapers", { } }) -DebugMenuCommands.register("daycare", { - "parent" => "fieldmenu", +DebugMenuCommands.register("day_care", { + "parent" => "field_menu", "name" => _INTL("Day Care"), "description" => _INTL("View Pokémon in the Day Care and edit them."), "effect" => proc { @@ -161,8 +161,8 @@ DebugMenuCommands.register("daycare", { } }) -DebugMenuCommands.register("skipcredits", { - "parent" => "fieldmenu", +DebugMenuCommands.register("skip_credits", { + "parent" => "field_menu", "name" => _INTL("Skip Credits"), "description" => _INTL("Toggle whether credits can be ended early by pressing the Use input."), "effect" => proc { @@ -172,8 +172,8 @@ DebugMenuCommands.register("skipcredits", { } }) -DebugMenuCommands.register("relicstone", { - "parent" => "fieldmenu", +DebugMenuCommands.register("relic_stone", { + "parent" => "field_menu", "name" => _INTL("Use Relic Stone"), "description" => _INTL("Shadow Pokémon. Choose a Pokémon to show to the Relic Stone for purification."), "effect" => proc { @@ -181,8 +181,8 @@ DebugMenuCommands.register("relicstone", { } }) -DebugMenuCommands.register("purifychamber", { - "parent" => "fieldmenu", +DebugMenuCommands.register("purify_chamber", { + "parent" => "field_menu", "name" => _INTL("Use Purify Chamber"), "description" => _INTL("Shadow Pokémon. Open the Purify Chamber for purification."), "effect" => proc { @@ -193,14 +193,14 @@ DebugMenuCommands.register("purifychamber", { #=============================================================================== # Battle options #=============================================================================== -DebugMenuCommands.register("battlemenu", { +DebugMenuCommands.register("battle_menu", { "parent" => "main", "name" => _INTL("Battle options..."), "description" => _INTL("Start battles, reset this map's trainers, ready rematches, edit roamers, etc.") }) -DebugMenuCommands.register("testwildbattle", { - "parent" => "battlemenu", +DebugMenuCommands.register("test_wild_battle", { + "parent" => "battle_menu", "name" => _INTL("Test Wild Battle"), "description" => _INTL("Start a single battle against a wild Pokémon. You choose the species/level."), "effect" => proc { @@ -221,8 +221,8 @@ DebugMenuCommands.register("testwildbattle", { } }) -DebugMenuCommands.register("testwildbattleadvanced", { - "parent" => "battlemenu", +DebugMenuCommands.register("test_wild_battle_advanced", { + "parent" => "battle_menu", "name" => _INTL("Test Wild Battle Advanced"), "description" => _INTL("Start a battle against 1 or more wild Pokémon. Battle size is your choice."), "effect" => proc { @@ -285,8 +285,8 @@ DebugMenuCommands.register("testwildbattleadvanced", { } }) -DebugMenuCommands.register("testtrainerbattle", { - "parent" => "battlemenu", +DebugMenuCommands.register("test_trainer_battle", { + "parent" => "battle_menu", "name" => _INTL("Test Trainer Battle"), "description" => _INTL("Start a single battle against a trainer of your choice."), "effect" => proc { @@ -298,8 +298,8 @@ DebugMenuCommands.register("testtrainerbattle", { } }) -DebugMenuCommands.register("testtrainerbattleadvanced", { - "parent" => "battlemenu", +DebugMenuCommands.register("test_trainer_battle_advanced", { + "parent" => "battle_menu", "name" => _INTL("Test Trainer Battle Advanced"), "description" => _INTL("Start a battle against 1 or more trainers with a battle size of your choice."), "effect" => proc { @@ -389,8 +389,8 @@ DebugMenuCommands.register("testtrainerbattleadvanced", { } }) -DebugMenuCommands.register("togglelogging", { - "parent" => "battlemenu", +DebugMenuCommands.register("toggle_logging", { + "parent" => "battle_menu", "name" => _INTL("Toggle Battle Logging"), "description" => _INTL("Record debug logs for battles in Data/debuglog.txt."), "effect" => proc { @@ -400,8 +400,8 @@ DebugMenuCommands.register("togglelogging", { } }) -DebugMenuCommands.register("resettrainers", { - "parent" => "battlemenu", +DebugMenuCommands.register("reset_trainers", { + "parent" => "battle_menu", "name" => _INTL("Reset Map's Trainers"), "description" => _INTL("Turn off Self Switches A and B for all events with \"Trainer\" in their name."), "effect" => proc { @@ -420,8 +420,8 @@ DebugMenuCommands.register("resettrainers", { } }) -DebugMenuCommands.register("readyrematches", { - "parent" => "battlemenu", +DebugMenuCommands.register("ready_rematches", { + "parent" => "battle_menu", "name" => _INTL("Ready All Phone Rematches"), "description" => _INTL("Make all trainers in the phone ready for rematches."), "effect" => proc { @@ -439,7 +439,7 @@ DebugMenuCommands.register("readyrematches", { }) DebugMenuCommands.register("roamers", { - "parent" => "battlemenu", + "parent" => "battle_menu", "name" => _INTL("Roaming Pokémon"), "description" => _INTL("Toggle and edit all roaming Pokémon."), "effect" => proc { @@ -447,8 +447,8 @@ DebugMenuCommands.register("roamers", { } }) -DebugMenuCommands.register("encounterversion", { - "parent" => "battlemenu", +DebugMenuCommands.register("encounter_version", { + "parent" => "battle_menu", "name" => _INTL("Set Encounters Version"), "description" => _INTL("Choose which version of wild encounters should be used."), "effect" => proc { @@ -466,14 +466,14 @@ DebugMenuCommands.register("encounterversion", { #=============================================================================== # Item options #=============================================================================== -DebugMenuCommands.register("itemsmenu", { +DebugMenuCommands.register("items_menu", { "parent" => "main", "name" => _INTL("Item options..."), "description" => _INTL("Give and take items.") }) -DebugMenuCommands.register("additem", { - "parent" => "itemsmenu", +DebugMenuCommands.register("add_item", { + "parent" => "items_menu", "name" => _INTL("Add Item"), "description" => _INTL("Choose an item and a quantity of it to add to the Bag."), "effect" => proc { @@ -494,8 +494,8 @@ DebugMenuCommands.register("additem", { } }) -DebugMenuCommands.register("fillbag", { - "parent" => "itemsmenu", +DebugMenuCommands.register("fill_bag", { + "parent" => "items_menu", "name" => _INTL("Fill Bag"), "description" => _INTL("Empties the Bag and then fills it with a certain number of every item."), "effect" => proc { @@ -523,8 +523,8 @@ DebugMenuCommands.register("fillbag", { } }) -DebugMenuCommands.register("emptybag", { - "parent" => "itemsmenu", +DebugMenuCommands.register("empty_bag", { + "parent" => "items_menu", "name" => _INTL("Empty Bag"), "description" => _INTL("Remove all items from the Bag."), "effect" => proc { @@ -536,14 +536,14 @@ DebugMenuCommands.register("emptybag", { #=============================================================================== # Pokémon options #=============================================================================== -DebugMenuCommands.register("pokemonmenu", { +DebugMenuCommands.register("pokemon_menu", { "parent" => "main", "name" => _INTL("Pokémon options..."), "description" => _INTL("Give Pokémon, heal party, fill/empty PC storage, etc.") }) -DebugMenuCommands.register("addpokemon", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("add_pokemon", { + "parent" => "pokemon_menu", "name" => _INTL("Add Pokémon"), "description" => _INTL("Give yourself a Pokémon of a chosen species/level. Goes to PC if party is full."), "effect" => proc { @@ -559,8 +559,8 @@ DebugMenuCommands.register("addpokemon", { } }) -DebugMenuCommands.register("demoparty", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("give_demo_party", { + "parent" => "pokemon_menu", "name" => _INTL("Give Demo Party"), "description" => _INTL("Give yourself 6 preset Pokémon. They overwrite the current party."), "effect" => proc { @@ -602,8 +602,8 @@ DebugMenuCommands.register("demoparty", { } }) -DebugMenuCommands.register("healparty", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("heal_party", { + "parent" => "pokemon_menu", "name" => _INTL("Heal Party"), "description" => _INTL("Fully heal the HP/status/PP of all Pokémon in the party."), "effect" => proc { @@ -612,8 +612,8 @@ DebugMenuCommands.register("healparty", { } }) -DebugMenuCommands.register("quickhatch", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("quick_hatch_party_eggs", { + "parent" => "pokemon_menu", "name" => _INTL("Quick Hatch"), "description" => _INTL("Make all eggs in the party require just one more step to hatch."), "effect" => proc { @@ -622,8 +622,8 @@ DebugMenuCommands.register("quickhatch", { } }) -DebugMenuCommands.register("fillboxes", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("fill_boxes", { + "parent" => "pokemon_menu", "name" => _INTL("Fill Storage Boxes"), "description" => _INTL("Add one Pokémon of each species (at Level 50) to storage."), "effect" => proc { @@ -669,8 +669,8 @@ DebugMenuCommands.register("fillboxes", { } }) -DebugMenuCommands.register("clearboxes", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("clear_boxes", { + "parent" => "pokemon_menu", "name" => _INTL("Clear Storage Boxes"), "description" => _INTL("Remove all Pokémon in storage."), "effect" => proc { @@ -683,8 +683,8 @@ DebugMenuCommands.register("clearboxes", { } }) -DebugMenuCommands.register("openstorage", { - "parent" => "pokemonmenu", +DebugMenuCommands.register("open_storage", { + "parent" => "pokemon_menu", "name" => _INTL("Access Pokémon Storage"), "description" => _INTL("Opens the Pokémon storage boxes in Organize Boxes mode."), "effect" => proc { @@ -699,14 +699,14 @@ DebugMenuCommands.register("openstorage", { #=============================================================================== # Player options #=============================================================================== -DebugMenuCommands.register("playermenu", { +DebugMenuCommands.register("player_menu", { "parent" => "main", "name" => _INTL("Player options..."), "description" => _INTL("Set money, badges, Pokédexes, player's appearance and name, etc.") }) -DebugMenuCommands.register("setbadges", { - "parent" => "playermenu", +DebugMenuCommands.register("set_badges", { + "parent" => "player_menu", "name" => _INTL("Set Badges"), "description" => _INTL("Toggle possession of each Gym Badge."), "effect" => proc { @@ -732,8 +732,8 @@ DebugMenuCommands.register("setbadges", { } }) -DebugMenuCommands.register("setmoney", { - "parent" => "playermenu", +DebugMenuCommands.register("set_money", { + "parent" => "player_menu", "name" => _INTL("Set Money"), "description" => _INTL("Edit how much money you have."), "effect" => proc { @@ -745,8 +745,8 @@ DebugMenuCommands.register("setmoney", { } }) -DebugMenuCommands.register("setcoins", { - "parent" => "playermenu", +DebugMenuCommands.register("set_coins", { + "parent" => "player_menu", "name" => _INTL("Set Coins"), "description" => _INTL("Edit how many Game Corner Coins you have."), "effect" => proc { @@ -758,8 +758,8 @@ DebugMenuCommands.register("setcoins", { } }) -DebugMenuCommands.register("setbp", { - "parent" => "playermenu", +DebugMenuCommands.register("set_bp", { + "parent" => "player_menu", "name" => _INTL("Set Battle Points"), "description" => _INTL("Edit how many Battle Points you have."), "effect" => proc { @@ -771,8 +771,8 @@ DebugMenuCommands.register("setbp", { } }) -DebugMenuCommands.register("toggleshoes", { - "parent" => "playermenu", +DebugMenuCommands.register("toggle_running_shoes", { + "parent" => "player_menu", "name" => _INTL("Toggle Running Shoes"), "description" => _INTL("Toggle possession of running shoes."), "effect" => proc { @@ -782,8 +782,8 @@ DebugMenuCommands.register("toggleshoes", { } }) -DebugMenuCommands.register("togglepokegear", { - "parent" => "playermenu", +DebugMenuCommands.register("toggle_pokegear", { + "parent" => "player_menu", "name" => _INTL("Toggle Pokégear"), "description" => _INTL("Toggle possession of the Pokégear."), "effect" => proc { @@ -793,8 +793,8 @@ DebugMenuCommands.register("togglepokegear", { } }) -DebugMenuCommands.register("dexlists", { - "parent" => "playermenu", +DebugMenuCommands.register("toggle_pokedex", { + "parent" => "player_menu", "name" => _INTL("Toggle Pokédex and Dexes"), "description" => _INTL("Toggle possession of the Pokédex, and edit Regional Dex accessibility."), "effect" => proc { @@ -822,8 +822,8 @@ DebugMenuCommands.register("dexlists", { } }) -DebugMenuCommands.register("setplayer", { - "parent" => "playermenu", +DebugMenuCommands.register("set_player_character", { + "parent" => "player_menu", "name" => _INTL("Set Player Character"), "description" => _INTL("Edit the player's character, as defined in \"metadata.txt\"."), "effect" => proc { @@ -847,8 +847,8 @@ DebugMenuCommands.register("setplayer", { } }) -DebugMenuCommands.register("changeoutfit", { - "parent" => "playermenu", +DebugMenuCommands.register("change_outfit", { + "parent" => "player_menu", "name" => _INTL("Set Player Outfit"), "description" => _INTL("Edit the player's outfit number."), "effect" => proc { @@ -861,8 +861,8 @@ DebugMenuCommands.register("changeoutfit", { } }) -DebugMenuCommands.register("renameplayer", { - "parent" => "playermenu", +DebugMenuCommands.register("rename_player", { + "parent" => "player_menu", "name" => _INTL("Set Player Name"), "description" => _INTL("Rename the player."), "effect" => proc { @@ -881,8 +881,8 @@ DebugMenuCommands.register("renameplayer", { } }) -DebugMenuCommands.register("randomid", { - "parent" => "playermenu", +DebugMenuCommands.register("random_id", { + "parent" => "player_menu", "name" => _INTL("Randomize Player ID"), "description" => _INTL("Generate a random new ID for the player."), "effect" => proc { @@ -894,15 +894,15 @@ DebugMenuCommands.register("randomid", { #=============================================================================== # Information editors #=============================================================================== -DebugMenuCommands.register("editorsmenu", { +DebugMenuCommands.register("editors_menu", { "parent" => "main", "name" => _INTL("Information editors..."), "description" => _INTL("Edit information in the PBS files, terrain tags, battle animations, etc."), "always_show" => true }) -DebugMenuCommands.register("setmetadata", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_metadata", { + "parent" => "editors_menu", "name" => _INTL("Edit Metadata"), "description" => _INTL("Edit global metadata and player character metadata."), "always_show" => true, @@ -911,8 +911,8 @@ DebugMenuCommands.register("setmetadata", { } }) -DebugMenuCommands.register("setmapmetadata", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_map_metadata", { + "parent" => "editors_menu", "name" => _INTL("Edit Map Metadata"), "description" => _INTL("Edit map metadata."), "always_show" => true, @@ -921,8 +921,8 @@ DebugMenuCommands.register("setmapmetadata", { } }) -DebugMenuCommands.register("mapconnections", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_map_connections", { + "parent" => "editors_menu", "name" => _INTL("Edit Map Connections"), "description" => _INTL("Connect maps using a visual interface. Can also edit map encounters/metadata."), "always_show" => true, @@ -931,8 +931,8 @@ DebugMenuCommands.register("mapconnections", { } }) -DebugMenuCommands.register("terraintags", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_terrain_tags", { + "parent" => "editors_menu", "name" => _INTL("Edit Terrain Tags"), "description" => _INTL("Edit the terrain tags of tiles in tilesets. Required for tags 8+."), "always_show" => true, @@ -941,8 +941,8 @@ DebugMenuCommands.register("terraintags", { } }) -DebugMenuCommands.register("setencounters", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_encounters", { + "parent" => "editors_menu", "name" => _INTL("Edit Wild Encounters"), "description" => _INTL("Edit the wild Pokémon that can be found on maps, and how they are encountered."), "always_show" => true, @@ -951,8 +951,8 @@ DebugMenuCommands.register("setencounters", { } }) -DebugMenuCommands.register("trainertypes", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_trainer_types", { + "parent" => "editors_menu", "name" => _INTL("Edit Trainer Types"), "description" => _INTL("Edit the properties of trainer types."), "always_show" => true, @@ -961,8 +961,8 @@ DebugMenuCommands.register("trainertypes", { } }) -DebugMenuCommands.register("edittrainers", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_trainers", { + "parent" => "editors_menu", "name" => _INTL("Edit Individual Trainers"), "description" => _INTL("Edit individual trainers, their Pokémon and items."), "always_show" => true, @@ -971,8 +971,8 @@ DebugMenuCommands.register("edittrainers", { } }) -DebugMenuCommands.register("edititems", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_items", { + "parent" => "editors_menu", "name" => _INTL("Edit Items"), "description" => _INTL("Edit item data."), "always_show" => true, @@ -981,8 +981,8 @@ DebugMenuCommands.register("edititems", { } }) -DebugMenuCommands.register("editpokemon", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_species", { + "parent" => "editors_menu", "name" => _INTL("Edit Pokémon"), "description" => _INTL("Edit Pokémon species data."), "always_show" => true, @@ -991,8 +991,8 @@ DebugMenuCommands.register("editpokemon", { } }) -DebugMenuCommands.register("editdexes", { - "parent" => "editorsmenu", +DebugMenuCommands.register("set_pokedex_lists", { + "parent" => "editors_menu", "name" => _INTL("Edit Regional Dexes"), "description" => _INTL("Create, rearrange and delete Regional Pokédex lists."), "always_show" => true, @@ -1001,8 +1001,8 @@ DebugMenuCommands.register("editdexes", { } }) -DebugMenuCommands.register("positionsprites", { - "parent" => "editorsmenu", +DebugMenuCommands.register("position_sprites", { + "parent" => "editors_menu", "name" => _INTL("Edit Pokémon Sprite Positions"), "description" => _INTL("Reposition Pokémon sprites in battle."), "always_show" => true, @@ -1015,8 +1015,8 @@ DebugMenuCommands.register("positionsprites", { } }) -DebugMenuCommands.register("autopositionsprites", { - "parent" => "editorsmenu", +DebugMenuCommands.register("auto_position_sprites", { + "parent" => "editors_menu", "name" => _INTL("Auto-Position All Sprites"), "description" => _INTL("Automatically reposition all Pokémon sprites in battle. Don't use lightly."), "always_show" => true, @@ -1031,8 +1031,8 @@ DebugMenuCommands.register("autopositionsprites", { } }) -DebugMenuCommands.register("animeditor", { - "parent" => "editorsmenu", +DebugMenuCommands.register("animation_editor", { + "parent" => "editors_menu", "name" => _INTL("Battle Animation Editor"), "description" => _INTL("Edit the battle animations."), "always_show" => true, @@ -1041,8 +1041,8 @@ DebugMenuCommands.register("animeditor", { } }) -DebugMenuCommands.register("animorganiser", { - "parent" => "editorsmenu", +DebugMenuCommands.register("animation_organiser", { + "parent" => "editors_menu", "name" => _INTL("Battle Animation Organiser"), "description" => _INTL("Rearrange/add/delete battle animations."), "always_show" => true, @@ -1051,8 +1051,8 @@ DebugMenuCommands.register("animorganiser", { } }) -DebugMenuCommands.register("importanims", { - "parent" => "editorsmenu", +DebugMenuCommands.register("import_animations", { + "parent" => "editors_menu", "name" => _INTL("Import All Battle Animations"), "description" => _INTL("Import all battle animations from the \"Animations\" folder."), "always_show" => true, @@ -1061,8 +1061,8 @@ DebugMenuCommands.register("importanims", { } }) -DebugMenuCommands.register("exportanims", { - "parent" => "editorsmenu", +DebugMenuCommands.register("export_animations", { + "parent" => "editors_menu", "name" => _INTL("Export All Battle Animations"), "description" => _INTL("Export all battle animations individually to the \"Animations\" folder."), "always_show" => true, @@ -1074,15 +1074,15 @@ DebugMenuCommands.register("exportanims", { #=============================================================================== # Other options #=============================================================================== -DebugMenuCommands.register("othermenu", { +DebugMenuCommands.register("other_menu", { "parent" => "main", "name" => _INTL("Other options..."), "description" => _INTL("Mystery Gifts, translations, compile data, etc."), "always_show" => true }) -DebugMenuCommands.register("mysterygift", { - "parent" => "othermenu", +DebugMenuCommands.register("mystery_gift", { + "parent" => "other_menu", "name" => _INTL("Manage Mystery Gifts"), "description" => _INTL("Edit and enable/disable Mystery Gifts."), "always_show" => true, @@ -1091,8 +1091,8 @@ DebugMenuCommands.register("mysterygift", { } }) -DebugMenuCommands.register("extracttext", { - "parent" => "othermenu", +DebugMenuCommands.register("extract_text", { + "parent" => "other_menu", "name" => _INTL("Extract Text"), "description" => _INTL("Extract all text in the game to a single file for translating."), "always_show" => true, @@ -1101,8 +1101,8 @@ DebugMenuCommands.register("extracttext", { } }) -DebugMenuCommands.register("compiletext", { - "parent" => "othermenu", +DebugMenuCommands.register("compile_text", { + "parent" => "other_menu", "name" => _INTL("Compile Text"), "description" => _INTL("Import text and converts it into a language file."), "always_show" => true, @@ -1111,8 +1111,8 @@ DebugMenuCommands.register("compiletext", { } }) -DebugMenuCommands.register("compiledata", { - "parent" => "othermenu", +DebugMenuCommands.register("compile_data", { + "parent" => "other_menu", "name" => _INTL("Compile Data"), "description" => _INTL("Fully compile all data."), "always_show" => true, @@ -1124,8 +1124,8 @@ DebugMenuCommands.register("compiledata", { } }) -DebugMenuCommands.register("createpbs", { - "parent" => "othermenu", +DebugMenuCommands.register("create_pbs_files", { + "parent" => "other_menu", "name" => _INTL("Create PBS File(s)"), "description" => _INTL("Choose one or all PBS files and create it."), "always_show" => true, @@ -1185,8 +1185,8 @@ DebugMenuCommands.register("createpbs", { } }) -DebugMenuCommands.register("invalidtiles", { - "parent" => "othermenu", +DebugMenuCommands.register("fix_invalid_tiles", { + "parent" => "other_menu", "name" => _INTL("Fix Invalid Tiles"), "description" => _INTL("Scans all maps and erases non-existent tiles."), "always_show" => true, @@ -1195,8 +1195,8 @@ DebugMenuCommands.register("invalidtiles", { } }) -DebugMenuCommands.register("renamefiles", { - "parent" => "othermenu", +DebugMenuCommands.register("rename_files", { + "parent" => "other_menu", "name" => _INTL("Rename Outdated Files"), "description" => _INTL("Check for files with outdated names and rename/move them. Can alter map data."), "always_show" => true, @@ -1208,8 +1208,8 @@ DebugMenuCommands.register("renamefiles", { } }) -DebugMenuCommands.register("reloadsystemcache", { - "parent" => "othermenu", +DebugMenuCommands.register("reload_system_cache", { + "parent" => "other_menu", "name" => _INTL("Reload System Cache"), "description" => _INTL("Refreshes the system's file cache. Use if you change a file while playing."), "always_show" => true, 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 1c060f089..68c1ee109 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 @@ -40,14 +40,14 @@ end #=============================================================================== # HP/Status options #=============================================================================== -PokemonDebugMenuCommands.register("hpstatusmenu", { +PokemonDebugMenuCommands.register("hp_status_menu", { "parent" => "main", "name" => _INTL("HP/Status..."), "always_show" => true }) -PokemonDebugMenuCommands.register("sethp", { - "parent" => "hpstatusmenu", +PokemonDebugMenuCommands.register("set_hp", { + "parent" => "hp_status_menu", "name" => _INTL("Set HP"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -69,8 +69,8 @@ PokemonDebugMenuCommands.register("sethp", { } }) -PokemonDebugMenuCommands.register("setstatus", { - "parent" => "hpstatusmenu", +PokemonDebugMenuCommands.register("set_status", { + "parent" => "hp_status_menu", "name" => _INTL("Set status"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -123,8 +123,8 @@ PokemonDebugMenuCommands.register("setstatus", { } }) -PokemonDebugMenuCommands.register("fullheal", { - "parent" => "hpstatusmenu", +PokemonDebugMenuCommands.register("full_heal", { + "parent" => "hp_status_menu", "name" => _INTL("Fully heal"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -139,8 +139,8 @@ PokemonDebugMenuCommands.register("fullheal", { } }) -PokemonDebugMenuCommands.register("makefainted", { - "parent" => "hpstatusmenu", +PokemonDebugMenuCommands.register("make_fainted", { + "parent" => "hp_status_menu", "name" => _INTL("Make fainted"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -154,8 +154,8 @@ PokemonDebugMenuCommands.register("makefainted", { } }) -PokemonDebugMenuCommands.register("setpokerus", { - "parent" => "hpstatusmenu", +PokemonDebugMenuCommands.register("set_pokerus", { + "parent" => "hp_status_menu", "name" => _INTL("Set Pokérus"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -193,14 +193,14 @@ PokemonDebugMenuCommands.register("setpokerus", { #=============================================================================== # Level/stats options #=============================================================================== -PokemonDebugMenuCommands.register("levelstats", { +PokemonDebugMenuCommands.register("level_stats", { "parent" => "main", "name" => _INTL("Level/stats..."), "always_show" => true }) -PokemonDebugMenuCommands.register("setlevel", { - "parent" => "levelstats", +PokemonDebugMenuCommands.register("set_level", { + "parent" => "level_stats", "name" => _INTL("Set level"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -223,8 +223,8 @@ PokemonDebugMenuCommands.register("setlevel", { } }) -PokemonDebugMenuCommands.register("setexp", { - "parent" => "levelstats", +PokemonDebugMenuCommands.register("set_exp", { + "parent" => "level_stats", "name" => _INTL("Set Exp"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -253,8 +253,8 @@ PokemonDebugMenuCommands.register("setexp", { } }) -PokemonDebugMenuCommands.register("hiddenvalues", { - "parent" => "levelstats", +PokemonDebugMenuCommands.register("hidden_values", { + "parent" => "level_stats", "name" => _INTL("EV/IV/pID..."), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -367,8 +367,8 @@ PokemonDebugMenuCommands.register("hiddenvalues", { } }) -PokemonDebugMenuCommands.register("sethappiness", { - "parent" => "levelstats", +PokemonDebugMenuCommands.register("set_happiness", { + "parent" => "level_stats", "name" => _INTL("Set happiness"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -386,14 +386,14 @@ PokemonDebugMenuCommands.register("sethappiness", { } }) -PokemonDebugMenuCommands.register("conteststats", { - "parent" => "levelstats", +PokemonDebugMenuCommands.register("contest_stats", { + "parent" => "level_stats", "name" => _INTL("Contest stats..."), "always_show" => true }) -PokemonDebugMenuCommands.register("setbeauty", { - "parent" => "conteststats", +PokemonDebugMenuCommands.register("set_beauty", { + "parent" => "contest_stats", "name" => _INTL("Set Beauty"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -411,8 +411,8 @@ PokemonDebugMenuCommands.register("setbeauty", { } }) -PokemonDebugMenuCommands.register("setcool", { - "parent" => "conteststats", +PokemonDebugMenuCommands.register("set_cool", { + "parent" => "contest_stats", "name" => _INTL("Set Cool"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -430,8 +430,8 @@ PokemonDebugMenuCommands.register("setcool", { } }) -PokemonDebugMenuCommands.register("setcute", { - "parent" => "conteststats", +PokemonDebugMenuCommands.register("set_cute", { + "parent" => "contest_stats", "name" => _INTL("Set Cute"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -449,8 +449,8 @@ PokemonDebugMenuCommands.register("setcute", { } }) -PokemonDebugMenuCommands.register("setsmart", { - "parent" => "conteststats", +PokemonDebugMenuCommands.register("set_smart", { + "parent" => "contest_stats", "name" => _INTL("Set Smart"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -468,8 +468,8 @@ PokemonDebugMenuCommands.register("setsmart", { } }) -PokemonDebugMenuCommands.register("settough", { - "parent" => "conteststats", +PokemonDebugMenuCommands.register("set_tough", { + "parent" => "contest_stats", "name" => _INTL("Set Tough"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -487,8 +487,8 @@ PokemonDebugMenuCommands.register("settough", { } }) -PokemonDebugMenuCommands.register("setsheen", { - "parent" => "conteststats", +PokemonDebugMenuCommands.register("set_sheen", { + "parent" => "contest_stats", "name" => _INTL("Set Sheen"), "always_show" => true, "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| @@ -515,7 +515,7 @@ PokemonDebugMenuCommands.register("moves", { "always_show" => true }) -PokemonDebugMenuCommands.register("teachmove", { +PokemonDebugMenuCommands.register("teach_move", { "parent" => "moves", "name" => _INTL("Teach move"), "always_show" => true, @@ -529,7 +529,7 @@ PokemonDebugMenuCommands.register("teachmove", { } }) -PokemonDebugMenuCommands.register("forgetmove", { +PokemonDebugMenuCommands.register("forget_move", { "parent" => "moves", "name" => _INTL("Forget move"), "always_show" => true, @@ -545,7 +545,7 @@ PokemonDebugMenuCommands.register("forgetmove", { } }) -PokemonDebugMenuCommands.register("resetmoves", { +PokemonDebugMenuCommands.register("reset_moves", { "parent" => "moves", "name" => _INTL("Reset moves"), "always_show" => true, @@ -557,7 +557,7 @@ PokemonDebugMenuCommands.register("resetmoves", { } }) -PokemonDebugMenuCommands.register("setmovepp", { +PokemonDebugMenuCommands.register("set_move_pp", { "parent" => "moves", "name" => _INTL("Set move PP"), "always_show" => true, @@ -621,7 +621,7 @@ PokemonDebugMenuCommands.register("setmovepp", { } }) -PokemonDebugMenuCommands.register("setinitialmoves", { +PokemonDebugMenuCommands.register("set_initial_moves", { "parent" => "moves", "name" => _INTL("Reset initial moves"), "always_show" => true, @@ -636,7 +636,7 @@ PokemonDebugMenuCommands.register("setinitialmoves", { #=============================================================================== # Other options #=============================================================================== -PokemonDebugMenuCommands.register("setitem", { +PokemonDebugMenuCommands.register("set_item", { "parent" => "main", "name" => _INTL("Set item"), "always_show" => true, @@ -674,7 +674,7 @@ PokemonDebugMenuCommands.register("setitem", { } }) -PokemonDebugMenuCommands.register("setability", { +PokemonDebugMenuCommands.register("set_ability", { "parent" => "main", "name" => _INTL("Set ability"), "always_show" => true, @@ -723,7 +723,7 @@ PokemonDebugMenuCommands.register("setability", { } }) -PokemonDebugMenuCommands.register("setnature", { +PokemonDebugMenuCommands.register("set_nature", { "parent" => "main", "name" => _INTL("Set nature"), "always_show" => true, @@ -766,7 +766,7 @@ PokemonDebugMenuCommands.register("setnature", { } }) -PokemonDebugMenuCommands.register("setgender", { +PokemonDebugMenuCommands.register("set_gender", { "parent" => "main", "name" => _INTL("Set gender"), "always_show" => true, @@ -804,7 +804,7 @@ PokemonDebugMenuCommands.register("setgender", { } }) -PokemonDebugMenuCommands.register("speciesform", { +PokemonDebugMenuCommands.register("species_and_form", { "parent" => "main", "name" => _INTL("Species/form..."), "always_show" => true, @@ -873,7 +873,7 @@ PokemonDebugMenuCommands.register("cosmetic", { "always_show" => true }) -PokemonDebugMenuCommands.register("setshininess", { +PokemonDebugMenuCommands.register("set_shininess", { "parent" => "cosmetic", "name" => _INTL("Set shininess"), "always_show" => true, @@ -905,7 +905,7 @@ PokemonDebugMenuCommands.register("setshininess", { } }) -PokemonDebugMenuCommands.register("setpokeball", { +PokemonDebugMenuCommands.register("set_pokeball", { "parent" => "cosmetic", "name" => _INTL("Set Poké Ball"), "always_show" => true, @@ -933,7 +933,7 @@ PokemonDebugMenuCommands.register("setpokeball", { } }) -PokemonDebugMenuCommands.register("setribbons", { +PokemonDebugMenuCommands.register("set_ribbons", { "parent" => "cosmetic", "name" => _INTL("Set ribbons"), "always_show" => true, @@ -969,7 +969,7 @@ PokemonDebugMenuCommands.register("setribbons", { } }) -PokemonDebugMenuCommands.register("setnickname", { +PokemonDebugMenuCommands.register("set_nickname", { "parent" => "cosmetic", "name" => _INTL("Set nickname"), "always_show" => true, @@ -1044,7 +1044,7 @@ PokemonDebugMenuCommands.register("ownership", { #=============================================================================== # Can store/release/trade #=============================================================================== -PokemonDebugMenuCommands.register("setdiscardable", { +PokemonDebugMenuCommands.register("set_discardable", { "parent" => "main", "name" => _INTL("Set discardable"), "always_show" => true, @@ -1074,7 +1074,7 @@ PokemonDebugMenuCommands.register("setdiscardable", { #=============================================================================== # Other options #=============================================================================== -PokemonDebugMenuCommands.register("setegg", { +PokemonDebugMenuCommands.register("set_egg", { "parent" => "main", "name" => _INTL("Set egg"), "always_show" => true, @@ -1116,7 +1116,7 @@ PokemonDebugMenuCommands.register("setegg", { } }) -PokemonDebugMenuCommands.register("shadowpkmn", { +PokemonDebugMenuCommands.register("shadow_pkmn", { "parent" => "main", "name" => _INTL("Shadow Pkmn..."), "always_show" => true, @@ -1158,7 +1158,7 @@ PokemonDebugMenuCommands.register("shadowpkmn", { } }) -PokemonDebugMenuCommands.register("mysterygift", { +PokemonDebugMenuCommands.register("mystery_gift", { "parent" => "main", "name" => _INTL("Mystery Gift"), "effect" => proc { |pkmn, pkmnid, heldpoke, settingUpBattle, screen| diff --git a/Data/Scripts/020_Debug/003_Debug menus/007_Debug_BattleCommands.rb b/Data/Scripts/020_Debug/003_Debug menus/007_Debug_BattleCommands.rb index d8715e086..df6437d34 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/007_Debug_BattleCommands.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/007_Debug_BattleCommands.rb @@ -4,7 +4,6 @@ Positions (Battle::ActivePosition) PBEffects::HealingWish PBEffects::LunarDance -backdrop, backdropBase turnCount items (of foe trainers) initialItems - Array of two arrays, each with one value per party index @@ -92,7 +91,7 @@ BattleDebugMenuCommands.register("list_player_battlers", { loop do cmd = pbMessage("\\ts[]" + _INTL("Choose a Pokémon."), cmds, -1, nil, cmd) break if cmd < 0 - battle.pbBattleBattlerDebug(battlers[cmd]) + battle.pbBattlePokemonDebug(battlers[cmd].pokemon, battlers[cmd]) end } }) @@ -113,7 +112,7 @@ BattleDebugMenuCommands.register("list_foe_battlers", { loop do cmd = pbMessage("\\ts[]" + _INTL("Choose a Pokémon."), cmds, -1, nil, cmd) break if cmd < 0 - battle.pbBattleBattlerDebug(battlers[cmd]) + battle.pbBattlePokemonDebug(battlers[cmd].pokemon, battlers[cmd]) end } }) @@ -293,6 +292,31 @@ BattleDebugMenuCommands.register("environment", { } }) +BattleDebugMenuCommands.register("backdrop", { + "parent" => "field", + "name" => _INTL("Backdrop Names"), + "description" => _INTL("Set the names of the backdrop and base graphics."), + "always_show" => true, + "effect" => proc { |battle| + loop do + cmd = pbMessage("\\ts[]" + _INTL("Set which backdrop name?"), + [_INTL("Backdrop"), + _INTL("Base modifier")], -1) + break if cmd < 0 + case cmd + when 0 # Backdrop + text = pbMessageFreeText("\\ts[]" + _INTL("Set the backdrop's name."), + battle.backdrop, false, 100, Graphics.width) + battle.backdrop = (nil_or_empty?(text)) ? "Indoor1" : text + when 1 # Base modifier + text = pbMessageFreeText("\\ts[]" + _INTL("Set the base modifier text."), + battle.backdropBase, false, 100, Graphics.width) + battle.backdropBase = (nil_or_empty?(text)) ? nil : text + end + end + } +}) + BattleDebugMenuCommands.register("set_field_effects", { "parent" => "field", "name" => _INTL("Other Field Effects..."), diff --git a/Data/Scripts/020_Debug/003_Debug menus/008_Debug_BattlerCommands.rb b/Data/Scripts/020_Debug/003_Debug menus/008_Debug_BattlerCommands.rb index ddc5ff7b0..0d8fc42e7 100644 --- a/Data/Scripts/020_Debug/003_Debug menus/008_Debug_BattlerCommands.rb +++ b/Data/Scripts/020_Debug/003_Debug menus/008_Debug_BattlerCommands.rb @@ -11,7 +11,7 @@ Actual stats? @attack, @defense, etc. #=============================================================================== # #=============================================================================== -module BattlerDebugMenuCommands +module BattlePokemonDebugMenuCommands @@commands = HandlerHashBasic.new def self.register(option, hash) @@ -50,39 +50,40 @@ end #=============================================================================== # HP/Status options #=============================================================================== -BattlerDebugMenuCommands.register("hpstatusmenu", { - "parent" => "main", - "name" => _INTL("HP/Status..."), - "always_show" => true +BattlePokemonDebugMenuCommands.register("hp_status_menu", { + "parent" => "main", + "name" => _INTL("HP/Status..."), + "usage" => :both }) -BattlerDebugMenuCommands.register("sethp", { - "parent" => "hpstatusmenu", - "name" => _INTL("Set HP"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_hp", { + "parent" => "hp_status_menu", + "name" => _INTL("Set HP"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.egg? pbMessage("\\ts[]" + _INTL("{1} is an egg.", pkmn.name)) next - elsif battler.totalhp == 1 + elsif pkmn.totalhp == 1 pbMessage("\\ts[]" + _INTL("Can't change HP, {1}'s maximum HP is 1.", pkmn.name)) next end params = ChooseNumberParams.new - params.setRange(1, battler.totalhp) - params.setDefaultValue(battler.hp) + params.setRange(1, pkmn.totalhp) + params.setDefaultValue(pkmn.hp) new_hp = pbMessageChooseNumber( - "\\ts[]" + _INTL("Set {1}'s HP (1-{2}).", battler.pbThis(true), battler.totalhp), params + "\\ts[]" + _INTL("Set {1}'s HP (1-{2}).", (battler) ? battler.pbThis(true) : pkmn.name, pkmn.totalhp), params ) - battler.hp = new_hp if new_hp != battler.hp + next if new_hp == pkmn.hp + (battler || pkmn).hp = new_hp } }) -BattlerDebugMenuCommands.register("setstatus", { - "parent" => "hpstatusmenu", - "name" => _INTL("Set status"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_status", { + "parent" => "hp_status_menu", + "name" => _INTL("Set status"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.egg? pbMessage("\\ts[]" + _INTL("{1} is an egg.", pkmn.name)) next @@ -99,77 +100,95 @@ BattlerDebugMenuCommands.register("setstatus", { ids.push(s.id) end loop do - msg = _INTL("Current status: {1}", GameData::Status.get(battler.status).name) - if battler.status == :SLEEP - msg += " " + _INTL("(turns: {1})", battler.statusCount) - elsif battler.status == :POISON && battler.statusCount > 0 - msg += " " + _INTL("(toxic, count: {1})", battler.statusCount) + msg = _INTL("Current status: {1}", GameData::Status.get(pkmn.status).name) + if pkmn.status == :SLEEP + msg += " " + _INTL("(turns: {1})", pkmn.statusCount) + elsif pkmn.status == :POISON && pkmn.statusCount > 0 + if battler + msg += " " + _INTL("(toxic, count: {1})", battler.statusCount) + else + msg += " " + _INTL("(toxic)") + end end cmd = pbMessage("\\ts[]" + msg, commands, -1, nil, cmd) break if cmd < 0 case cmd when 0 # Cure - battler.status = :NONE + if battler + battler.status = :NONE + else + pkmn.heal_status + end else # Give status problem + pkmn_name = (battler) ? battler.pbThis(true) : pkmn.name case ids[cmd] when :SLEEP params = ChooseNumberParams.new params.setRange(0, 99) - params.setDefaultValue((battler.status == :SLEEP) ? battler.statusCount : 3) + params.setDefaultValue((pkmn.status == :SLEEP) ? pkmn.statusCount : 3) params.setCancelValue(-1) - count = pbMessageChooseNumber("\\ts[]" + _INTL("Set {1}'s sleep count (0-99).", battler.pbThis(true)), params) + count = pbMessageChooseNumber("\\ts[]" + _INTL("Set {1}'s sleep count (0-99).", pkmn_name), params) next if count < 0 - battler.statusCount = count + (battler || pkmn).statusCount = count when :POISON - if pbConfirmMessage("\\ts[]" + _INTL("Make {1} badly poisoned (toxic)?", battler.pbThis(true))) - params = ChooseNumberParams.new - params.setRange(0, 15) - params.setDefaultValue(0) - params.setCancelValue(-1) - count = pbMessageChooseNumber( - "\\ts[]" + _INTL("Set {1}'s toxic count (0-15).", battler.pbThis(true)), params - ) - next if count < 0 - battler.statusCount = 1 - battler.effects[PBEffects::Toxic] = count + if pbConfirmMessage("\\ts[]" + _INTL("Make {1} badly poisoned (toxic)?", pkmn_name)) + if battler + params = ChooseNumberParams.new + params.setRange(0, 15) + params.setDefaultValue(0) + params.setCancelValue(-1) + count = pbMessageChooseNumber( + "\\ts[]" + _INTL("Set {1}'s toxic count (0-15).", pkmn_name), params + ) + next if count < 0 + battler.statusCount = 1 + battler.effects[PBEffects::Toxic] = count + else + pkmn.statusCount = 1 + end else - battler.statusCount = 0 + (battler || pkmn).statusCount = 0 end end - battler.status = ids[cmd] + (battler || pkmn).status = ids[cmd] end end } }) -BattlerDebugMenuCommands.register("fullheal", { - "parent" => "hpstatusmenu", - "name" => _INTL("Heal HP and status"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("full_heal", { + "parent" => "hp_status_menu", + "name" => _INTL("Heal HP and status"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.egg? pbMessage("\\ts[]" + _INTL("{1} is an egg.", pkmn.name)) next end - battler.hp = battler.totalhp - battler.status = :NONE + if battler + battler.hp = battler.totalhp + battler.status = :NONE + else + pkmn.heal_HP + pkmn.heal_status + end } }) #=============================================================================== # Level/stats options #=============================================================================== -BattlerDebugMenuCommands.register("levelstats", { - "parent" => "main", - "name" => _INTL("Stats/level..."), - "always_show" => true +BattlePokemonDebugMenuCommands.register("level_stats", { + "parent" => "main", + "name" => _INTL("Stats/level..."), + "usage" => :both }) -BattlerDebugMenuCommands.register("setstatstages", { - "parent" => "levelstats", - "name" => _INTL("Set stat stages"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_stat_stages", { + "parent" => "level_stats", + "name" => _INTL("Set stat stages"), + "usage" => :battler, + "effect" => proc { |pkmn, battler, battle| if pkmn.egg? pbMessage("\\ts[]" + _INTL("{1} is an egg.", pkmn.name)) next @@ -204,11 +223,11 @@ BattlerDebugMenuCommands.register("setstatstages", { } }) -BattlerDebugMenuCommands.register("setlevel", { - "parent" => "levelstats", - "name" => _INTL("Set level"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_level", { + "parent" => "level_stats", + "name" => _INTL("Set level"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.egg? pbMessage("\\ts[]" + _INTL("{1} is an egg.", pkmn.name)) next @@ -222,16 +241,16 @@ BattlerDebugMenuCommands.register("setlevel", { if level != pkmn.level pkmn.level = level pkmn.calc_stats - battler.pbUpdate + battler.pbUpdate if battler end } }) -BattlerDebugMenuCommands.register("setexp", { - "parent" => "levelstats", - "name" => _INTL("Set Exp"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_exp", { + "parent" => "level_stats", + "name" => _INTL("Set Exp"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.egg? pbMessage("\\ts[]" + _INTL("{1} is an egg.", pkmn.name)) next @@ -252,11 +271,11 @@ BattlerDebugMenuCommands.register("setexp", { } }) -BattlerDebugMenuCommands.register("hiddenvalues", { - "parent" => "levelstats", - "name" => _INTL("EV/IV..."), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("hidden_values", { + "parent" => "level_stats", + "name" => _INTL("EV/IV..."), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| cmd = 0 loop do persid = sprintf("0x%08X", pkmn.personalID) @@ -296,7 +315,7 @@ BattlerDebugMenuCommands.register("hiddenvalues", { if f != pkmn.ev[ev_id[cmd2]] pkmn.ev[ev_id[cmd2]] = f pkmn.calc_stats - battler.pbUpdate + battler.pbUpdate if battler end else # (Max) Randomise all evTotalTarget = Pokemon::EV_LIMIT @@ -315,7 +334,7 @@ BattlerDebugMenuCommands.register("hiddenvalues", { evTotalTarget -= addVal end pkmn.calc_stats - battler.pbUpdate + battler.pbUpdate if battler end end when 1 # Set IVs @@ -346,12 +365,12 @@ BattlerDebugMenuCommands.register("hiddenvalues", { if f != pkmn.iv[iv_id[cmd2]] pkmn.iv[iv_id[cmd2]] = f pkmn.calc_stats - battler.pbUpdate + battler.pbUpdate if battler end else # Randomise all GameData::Stat.each_main { |s| pkmn.iv[s.id] = rand(Pokemon::IV_STAT_LIMIT + 1) } pkmn.calc_stats - battler.pbUpdate + battler.pbUpdate if battler end end end @@ -359,11 +378,11 @@ BattlerDebugMenuCommands.register("hiddenvalues", { } }) -BattlerDebugMenuCommands.register("sethappiness", { - "parent" => "levelstats", - "name" => _INTL("Set happiness"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_happiness", { + "parent" => "level_stats", + "name" => _INTL("Set happiness"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| params = ChooseNumberParams.new params.setRange(0, 255) params.setDefaultValue(pkmn.happiness) @@ -375,11 +394,11 @@ BattlerDebugMenuCommands.register("sethappiness", { #=============================================================================== # Types #=============================================================================== -BattlerDebugMenuCommands.register("settypes", { - "parent" => "main", - "name" => _INTL("Set types"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_types", { + "parent" => "main", + "name" => _INTL("Set types"), + "usage" => :battler, + "effect" => proc { |pkmn, battler, battle| max_main_types = 2 # The most types a Pokémon can have normally cmd = 0 loop do @@ -424,17 +443,17 @@ BattlerDebugMenuCommands.register("settypes", { #=============================================================================== # Moves options #=============================================================================== -BattlerDebugMenuCommands.register("moves", { - "parent" => "main", - "name" => _INTL("Moves..."), - "always_show" => true +BattlePokemonDebugMenuCommands.register("moves", { + "parent" => "main", + "name" => _INTL("Moves..."), + "usage" => :both }) -BattlerDebugMenuCommands.register("teachmove", { - "parent" => "moves", - "name" => _INTL("Teach move"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("teach_move", { + "parent" => "moves", + "name" => _INTL("Teach move"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.numMoves >= Pokemon::MAX_MOVES pbMessage("\\ts[]" + _INTL("{1} already knows {2} moves. It needs to forget one first.", pkmn.name, pkmn.numMoves)) @@ -448,16 +467,16 @@ BattlerDebugMenuCommands.register("teachmove", { next end pkmn.learn_move(new_move) - battler.moves.push(Move.from_pokemon_move(self, pkmn.moves.last)) if battler + battler.moves.push(Battle::Move.from_pokemon_move(self, pkmn.moves.last)) if battler pbMessage("\\ts[]" + _INTL("{1} learned {2}!", pkmn.name, move_name)) } }) -BattlerDebugMenuCommands.register("forgetmove", { - "parent" => "moves", - "name" => _INTL("Forget move"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("forget_move", { + "parent" => "moves", + "name" => _INTL("Forget move"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| move_names = [] move_indices = [] pkmn.moves.each_with_index do |move, index| @@ -478,11 +497,11 @@ BattlerDebugMenuCommands.register("forgetmove", { } }) -BattlerDebugMenuCommands.register("setmovepp", { - "parent" => "moves", - "name" => _INTL("Set move PP"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_move_pp", { + "parent" => "moves", + "name" => _INTL("Set move PP"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| cmd = 0 loop do move_names = [] @@ -546,7 +565,7 @@ BattlerDebugMenuCommands.register("setmovepp", { elsif cmd == commands.length - 1 # Restore all PP pkmn.heal_PP if battler - battler.moves.each { |move| move.pp = move.total_pp } + battler.moves.each { |m| m.pp = m.total_pp } end end end @@ -556,11 +575,11 @@ BattlerDebugMenuCommands.register("setmovepp", { #=============================================================================== # Other options #=============================================================================== -BattlerDebugMenuCommands.register("setitem", { - "parent" => "main", - "name" => _INTL("Set item"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_item", { + "parent" => "main", + "name" => _INTL("Set item"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| cmd = 0 commands = [ _INTL("Change item"), @@ -574,14 +593,14 @@ BattlerDebugMenuCommands.register("setitem", { when 0 # Change item item = pbChooseItemList(pkmn.item_id) if item && item != pkmn.item_id - battler.item = item + (battler || pkmn).item = item if GameData::Item.get(item).is_mail? pkmn.mail = Mail.new(item, _INTL("Text"), $player.name) end end when 1 # Remove item if pkmn.hasItem? - battler.item = nil + (battler || pkmn).item = nil pkmn.mail = nil end else @@ -591,48 +610,52 @@ BattlerDebugMenuCommands.register("setitem", { } }) -BattlerDebugMenuCommands.register("setability", { - "parent" => "main", - "name" => _INTL("Set ability"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_ability", { + "parent" => "main", + "name" => _INTL("Set ability"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| cmd = 0 - commands = [ - _INTL("Set ability for battler"), - _INTL("Set ability for Pokémon"), - _INTL("Reset") - ] + commands = [] + commands.push(_INTL("Set ability for Pokémon")) + commands.push(_INTL("Set ability for battler")) if battler + commands.push(_INTL("Reset")) loop do msg = _INTL("Battler's ability is {1}. Pokémon's ability is {2}.", battler.abilityName, pkmn.ability.name) cmd = pbMessage("\\ts[]" + msg, commands, -1, nil, cmd) break if cmd < 0 + cmd = 2 if cmd >= 1 && !battler # Correct command for Pokémon (no battler) case cmd - when 0 # Set ability for battler - new_ability = pbChooseAbilityList(pkmn.ability_id) - if new_ability && new_ability != battler.ability_id - battler.ability = new_ability - end - when 1 # Set ability for Pokémon + when 0 # Set ability for Pokémon new_ability = pbChooseAbilityList(pkmn.ability_id) if new_ability && new_ability != pkmn.ability_id pkmn.ability = new_ability - battler.ability = pkmn.ability + battler.ability = pkmn.ability if battler + end + when 1 # Set ability for battler + if battler + new_ability = pbChooseAbilityList(battler.ability_id) + if new_ability && new_ability != battler.ability_id + battler.ability = new_ability + end + else + pbMessage(_INTL("This Pokémon isn't in battle.")) end when 2 # Reset pkmn.ability_index = nil pkmn.ability = nil - battler.ability = pkmn.ability + battler.ability = pkmn.ability if battler end end } }) -BattlerDebugMenuCommands.register("setnature", { - "parent" => "main", - "name" => _INTL("Set nature"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_nature", { + "parent" => "main", + "name" => _INTL("Set nature"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| commands = [] ids = [] GameData::Nature.each do |nature| @@ -665,16 +688,16 @@ BattlerDebugMenuCommands.register("setnature", { elsif cmd == commands.length - 1 # Reset pkmn.nature = nil end - battler.pbUpdate + battler.pbUpdate if battler end } }) -BattlerDebugMenuCommands.register("setgender", { - "parent" => "main", - "name" => _INTL("Set gender"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_gender", { + "parent" => "main", + "name" => _INTL("Set gender"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| if pkmn.singleGendered? pbMessage("\\ts[]" + _INTL("{1} is single-gendered or genderless.", pkmn.speciesName)) next @@ -699,11 +722,11 @@ BattlerDebugMenuCommands.register("setgender", { } }) -BattlerDebugMenuCommands.register("speciesform", { - "parent" => "main", - "name" => _INTL("Set form"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("form", { + "parent" => "main", + "name" => _INTL("Set form"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| cmd = 0 formcmds = [[], []] GameData::Species.each do |sp| @@ -730,19 +753,17 @@ BattlerDebugMenuCommands.register("speciesform", { pkmn.forced_form = f end pkmn.form_simple = f + battler.form = pkmn.form if battler end end } }) -#=============================================================================== -# Shininess -#=============================================================================== -BattlerDebugMenuCommands.register("setshininess", { - "parent" => "main", - "name" => _INTL("Set shininess"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_shininess", { + "parent" => "main", + "name" => _INTL("Set shininess"), + "usage" => :both, + "effect" => proc { |pkmn, battler, battle| cmd = 0 loop do msg_idx = pkmn.shiny? ? (pkmn.super_shiny? ? 1 : 0) : 2 @@ -770,14 +791,11 @@ BattlerDebugMenuCommands.register("setshininess", { } }) -#=============================================================================== -# Set effects -#=============================================================================== -BattlerDebugMenuCommands.register("set_effects", { - "parent" => "main", - "name" => _INTL("Set effects"), - "always_show" => true, - "effect" => proc { |battler, pkmn, battle| +BattlePokemonDebugMenuCommands.register("set_effects", { + "parent" => "main", + "name" => _INTL("Set effects"), + "usage" => :battler, + "effect" => proc { |pkmn, battler, battle| editor = Battle::DebugSetEffects.new(battle, :battler, battler.index) editor.update editor.dispose