From 22e0d1dfc50c31ea09eeb56d760ffd931634f1d1 Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Sun, 3 Apr 2022 20:42:22 +0100 Subject: [PATCH] def register_last_seen and related methods can now work with shininess --- .../015_Trainers and player/005_Player_Pokedex.rb | 11 ++++++----- Data/Scripts/016_UI/003_UI_Pokedex_Main.rb | 7 ++++--- Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb | 11 ++++++----- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Data/Scripts/015_Trainers and player/005_Player_Pokedex.rb b/Data/Scripts/015_Trainers and player/005_Player_Pokedex.rb index 5ab330b16..aa9919ae7 100644 --- a/Data/Scripts/015_Trainers and player/005_Player_Pokedex.rb +++ b/Data/Scripts/015_Trainers and player/005_Player_Pokedex.rb @@ -128,14 +128,15 @@ class Player < Trainer # @param species [Symbol, GameData::Species] Pokémon species def last_form_seen(species) @last_seen_forms[species] ||= [] - return @last_seen_forms[species][0] || 0, @last_seen_forms[species][1] || 0 + return @last_seen_forms[species][0] || 0, @last_seen_forms[species][1] || 0, @last_seen_forms[species][2] || false end # @param species [Symbol, GameData::Species] Pokémon species # @param gender [Integer] gender (0=male, 1=female, 2=genderless) # @param form [Integer] form number - def set_last_form_seen(species, gender = 0, form = 0) - @last_seen_forms[species] = [gender, form] + # @param shiny [Boolean] shininess + def set_last_form_seen(species, gender = 0, form = 0, shiny = false) + @last_seen_forms[species] = [gender, form, shiny] end #=========================================================================== @@ -213,7 +214,7 @@ class Player < Trainer @seen_forms[species] ||= [[[], []], [[], []]] @seen_forms[species][gender][shin][form] = true @last_seen_forms[species] ||= [] - @last_seen_forms[species] = [gender, form] if @last_seen_forms[species] == [] + @last_seen_forms[species] = [gender, form, shiny] if @last_seen_forms[species] == [] self.refresh_accessible_dexes if should_refresh_dexes end @@ -223,7 +224,7 @@ class Player < Trainer species_data = pkmn.species_data form = species_data.pokedex_form form = 0 if species_data.form_name.nil? || species_data.form_name.empty? - @last_seen_forms[pkmn.species] = [pkmn.gender, form] + @last_seen_forms[pkmn.species] = [pkmn.gender, form, pkmn.shiny?] end #=========================================================================== diff --git a/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb b/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb index d791029c3..98c242f31 100644 --- a/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb +++ b/Data/Scripts/016_UI/003_UI_Pokedex_Main.rb @@ -356,7 +356,7 @@ class PokemonPokedex_Scene regionalSpecies.each_with_index do |species, i| next if !species next if !pbCanAddForModeList?($PokemonGlobal.pokedexMode, species) - _gender, form = $player.pokedex.last_form_seen(species) + _gender, form, _shiny = $player.pokedex.last_form_seen(species) species_data = GameData::Species.get_species_form(species, form) color = species_data.color type1 = species_data.types[0] @@ -758,8 +758,9 @@ class PokemonPokedex_Scene end def setIconBitmap(species) - gender, form = $player.pokedex.last_form_seen(species) - @sprites["icon"].setSpeciesBitmap(species, gender, form) + gender, form, shiny = $player.pokedex.last_form_seen(species) + shiny = false + @sprites["icon"].setSpeciesBitmap(species, gender, form, shiny) end def pbSearchDexList(params) diff --git a/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb b/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb index ed742888b..066cd1d21 100644 --- a/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb +++ b/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb @@ -126,16 +126,17 @@ class PokemonPokedexInfo_Scene def pbUpdateDummyPokemon @species = @dexlist[@index][0] - @gender, @form = $player.pokedex.last_form_seen(@species) + @gender, @form, _shiny = $player.pokedex.last_form_seen(@species) + @shiny = false metrics_data = GameData::SpeciesMetrics.get_species_form(@species, @form) - @sprites["infosprite"].setSpeciesBitmap(@species, @gender, @form) - @sprites["formfront"]&.setSpeciesBitmap(@species, @gender, @form) + @sprites["infosprite"].setSpeciesBitmap(@species, @gender, @form, @shiny) + @sprites["formfront"]&.setSpeciesBitmap(@species, @gender, @form, @shiny) if @sprites["formback"] - @sprites["formback"].setSpeciesBitmap(@species, @gender, @form, false, false, true) + @sprites["formback"].setSpeciesBitmap(@species, @gender, @form, @shiny, false, true) @sprites["formback"].y = 256 @sprites["formback"].y += metrics_data.back_sprite[1] * 2 end - @sprites["formicon"]&.pbSetParams(@species, @gender, @form) + @sprites["formicon"]&.pbSetParams(@species, @gender, @form, @shiny) end def pbGetAvailableForms