def register_last_seen and related methods can now work with shininess

This commit is contained in:
Maruno17
2022-04-03 20:42:22 +01:00
parent 026e6f5c0a
commit 22e0d1dfc5
3 changed files with 16 additions and 13 deletions

View File

@@ -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
#===========================================================================

View File

@@ -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)

View File

@@ -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