From 44f114b5e0b8fbf18715070578cac272aa574f72 Mon Sep 17 00:00:00 2001 From: chardub Date: Thu, 6 Feb 2025 19:47:11 -0500 Subject: [PATCH] Adds debug function to change a pokemon's species from head and body pokedex numbers --- Data/MapInfos.rxdata | Bin 42773 -> 42773 bytes .../Scripts/020_Debug/001_Editor_Utilities.rb | 6 ++-- .../005_Debug_PokemonCommands.rb | 29 +++++++++++++++--- Data/System.rxdata | Bin 31654 -> 31655 bytes 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index 6d64cc46c2b68399aa0aa6c04507fc045bccf520..5a7859345009c8f342f063fd92f140dbfb6cd4b1 100644 GIT binary patch delta 16 YcmbPwj%n&SrVR@$7*}pyXi<^}06`lEYXATM delta 16 YcmbPwj%n&SrVR@$7*}szXi<^}06`}QZ2$lO diff --git a/Data/Scripts/020_Debug/001_Editor_Utilities.rb b/Data/Scripts/020_Debug/001_Editor_Utilities.rb index e25512fce..5260c2aaa 100644 --- a/Data/Scripts/020_Debug/001_Editor_Utilities.rb +++ b/Data/Scripts/020_Debug/001_Editor_Utilities.rb @@ -115,14 +115,16 @@ end # selected (or nil if the selection was canceled). "default", if specified, is # the ID of the species to initially select. Pressing Input::ACTION will toggle # the list sorting between numerical and alphabetical. -def pbChooseSpeciesList(default = nil) +def pbChooseSpeciesList(default = nil,max=nil) # commands = [] # GameData::Species.each { |s| commands.push([s.id_number, s.real_name, s.id]) if s.form == 0 } # return pbChooseList(commands, default, nil, -1) # defaultNumber = default == nil ? 1 : getDexNumberForSpecies(default) params = ChooseNumberParams.new - params.setRange(1,PBSpecies.maxValue) + + max = max ? max : PBSpecies.maxValue + params.setRange(1,max) params.setInitialValue(defaultNumber) dexNum = pbMessageChooseNumber("dex number?",params) return GameData::Species.get(dexNum) 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 66c7bb5f9..53a6de831 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 @@ -858,8 +858,7 @@ PokemonDebugMenuCommands.register("speciesform", { _INTL("Species {1}, form {2} (forced).", pkmn.speciesName, pkmn.form)][(pkmn.forced_form.nil?) ? 0 : 1] cmd = screen.pbShowCommands(msg, [ _INTL("Set species"), - _INTL("Set form"), - _INTL("Remove form override")], cmd) + _INTL("Set fusion species")], cmd) break if cmd < 0 case cmd when 0 # Set species @@ -874,6 +873,26 @@ PokemonDebugMenuCommands.register("speciesform", { screen.pbRefreshSingle(pkmnid) end when 1 # Set form + old_head_dex = get_head_number_from_symbol(pkmn.species) + old_body_dex = get_body_number_from_symbol(pkmn.species) + pbMessage('Head species?') + head_species = pbChooseSpeciesList(old_head_dex,NB_POKEMON) + pbMessage('Body species?') + body_species = pbChooseSpeciesList(old_body_dex,NB_POKEMON) + + fused_species_dex = getFusionSpecies(head_species.species, body_species.species) + species = GameData::Species.get(fused_species_dex) + + if species && species != pkmn.species + pkmn.species = species + if pkmn.shiny? + pkmn.debug_shiny=true + end + pkmn.calc_stats + $Trainer.pokedex.register(pkmn) if !settingUpBattle + screen.pbRefreshSingle(pkmnid) + end + # cmd2 = 0 # formcmds = [[], []] # GameData::Species.each do |sp| @@ -901,9 +920,9 @@ PokemonDebugMenuCommands.register("speciesform", { # screen.pbRefreshSingle(pkmnid) # end # end - when 2 # Remove form override - pkmn.forced_form = nil - screen.pbRefreshSingle(pkmnid) + # when 2 # Remove form override + # pkmn.forced_form = nil + # screen.pbRefreshSingle(pkmnid) end end next false diff --git a/Data/System.rxdata b/Data/System.rxdata index cb8bda3570b533be2fa1e31d6c9ad6b15ab02283..d8cb2464a7dd29b49223a31162b75e3edfcffb7b 100644 GIT binary patch delta 20 ccmZ4XopJeh#tkB}tSqHJ_pol3knM{D09`)_D*ylh delta 19 bcmZ4fopITB#tkB}EX+4eIyXzo_Qe4JQ%(nw