Added a Setting that makes a new Pokémon's Pokédex entry show after evolution, trading, hatching, gaining from Mystery Gift and general adding

This commit is contained in:
Maruno17
2022-04-03 19:06:56 +01:00
parent e87d55f56f
commit 026e6f5c0a
7 changed files with 133 additions and 23 deletions

View File

@@ -103,6 +103,22 @@ class PokemonEggHatch_Scene
pbMEPlay("Evolution success")
@pokemon.name = nil
pbMessage(_INTL("\\se[]{1} hatched from the Egg!\\wt[80]", @pokemon.name)) { update }
# Record the Pokémon's species as owned in the Pokédex
was_owned = $player.owned?(@pokemon.species)
$player.pokedex.register(@pokemon)
$player.pokedex.set_owned(@pokemon.species)
$player.pokedex.set_seen_egg(@pokemon.species)
# Show Pokédex entry for new species if it hasn't been owned before
if Settings::SHOW_NEW_SPECIES_POKEDEX_ENTRY_MORE_OFTEN && !was_owned && $player.has_pokedex
pbMessage(_INTL("{1}'s data was added to the Pokédex.", @pokemon.name)) { update }
$player.pokedex.register_last_seen(@pokemon)
pbFadeOutIn {
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbDexEntry(@pokemon.species)
}
end
# Nickname the Pokémon
if $PokemonSystem.givenicknames == 0 &&
pbConfirmMessage(
_INTL("Would you like to nickname the newly hatched {1}?", @pokemon.name)
@@ -199,15 +215,27 @@ def pbHatch(pokemon)
pokemon.timeEggHatched = pbGetTimeNow
pokemon.obtain_method = 1 # hatched from egg
pokemon.hatched_map = $game_map.map_id
$player.pokedex.register(pokemon)
$player.pokedex.set_owned(pokemon.species)
$player.pokedex.set_seen_egg(pokemon.species)
pokemon.record_first_moves
if !pbHatchAnimation(pokemon)
pbMessage(_INTL("Huh?\1"))
pbMessage(_INTL("...\1"))
pbMessage(_INTL("... .... .....\1"))
pbMessage(_INTL("{1} hatched from the Egg!", speciesname))
was_owned = $player.owned?(pokemon.species)
$player.pokedex.register(pokemon)
$player.pokedex.set_owned(pokemon.species)
$player.pokedex.set_seen_egg(pokemon.species)
# Show Pokédex entry for new species if it hasn't been owned before
if Settings::SHOW_NEW_SPECIES_POKEDEX_ENTRY_MORE_OFTEN && !was_owned && $player.has_pokedex
pbMessage(_INTL("{1}'s data was added to the Pokédex.", speciesname))
$player.pokedex.register_last_seen(pokemon)
pbFadeOutIn {
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbDexEntry(pokemon.species)
}
end
# Nickname the Pokémon
if $PokemonSystem.givenicknames == 0 &&
pbConfirmMessage(_INTL("Would you like to nickname the newly hatched {1}?", speciesname))
nickname = pbEnterPokemonName(_INTL("{1}'s nickname?", speciesname),

View File

@@ -517,9 +517,11 @@ class PokemonEvolutionScene
end
# Closes the evolution screen.
def pbEndScreen
pbDisposeMessageWindow(@sprites["msgwindow"])
pbFadeOutAndHide(@sprites) { pbUpdate }
def pbEndScreen(need_fade_out = true)
pbDisposeMessageWindow(@sprites["msgwindow"]) if @sprites["msgwindow"]
if need_fade_out
pbFadeOutAndHide(@sprites) { pbUpdate }
end
pbDisposeSpriteHash(@sprites)
@viewport.dispose
@bgviewport.dispose
@@ -600,13 +602,31 @@ class PokemonEvolutionScene
@pokemon.calc_stats
@pokemon.ready_to_evolve = false
# See and own evolved species
was_owned = $player.owned?(@newspecies)
$player.pokedex.register(@pokemon)
$player.pokedex.set_owned(@newspecies)
# Learn moves upon evolution for evolved species
moves_to_learn = []
movelist = @pokemon.getMoveList
movelist.each do |i|
next if i[0] != 0 && i[0] != @pokemon.level # 0 is "learn upon evolution"
pbLearnMove(@pokemon, i[1], true) { pbUpdate }
moves_to_learn.push(i[1])
end
# Show Pokédex entry for new species if it hasn't been owned before
if Settings::SHOW_NEW_SPECIES_POKEDEX_ENTRY_MORE_OFTEN && !was_owned && $player.has_pokedex
pbMessageDisplay(@sprites["msgwindow"],
_INTL("{1}'s data was added to the Pokédex.", newspeciesname)) { pbUpdate }
$player.pokedex.register_last_seen(@pokemon)
pbFadeOutIn {
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbDexEntry(@pokemon.species)
@sprites["msgwindow"].text = "" if moves_to_learn.length > 0
pbEndScreen(false) if moves_to_learn.length == 0
}
end
# Learn moves upon evolution for evolved species
moves_to_learn.each do |move|
pbLearnMove(@pokemon, move, true) { pbUpdate }
end
end

View File

@@ -152,9 +152,9 @@ class PokemonTrade_Scene
spriteBall.dispose
end
def pbEndScreen
pbDisposeMessageWindow(@sprites["msgwindow"])
pbFadeOutAndHide(@sprites)
def pbEndScreen(need_fade_out = true)
pbDisposeMessageWindow(@sprites["msgwindow"]) if @sprites["msgwindow"]
pbFadeOutAndHide(@sprites) if need_fade_out
pbDisposeSpriteHash(@sprites)
@viewport.dispose
newspecies = @pokemon2.check_evolution_on_trade(@pokemon)
@@ -167,6 +167,9 @@ class PokemonTrade_Scene
end
def pbTrade
was_owned = $player.owned?(@pokemon2.species)
$player.pokedex.register(@pokemon2)
$player.pokedex.set_owned(@pokemon2.species)
pbBGMStop
@pokemon.play_cry
speciesname1 = GameData::Species.get(@pokemon.species).name
@@ -187,6 +190,18 @@ class PokemonTrade_Scene
@pokemon2.name, @pokemon2.owner.public_id, @pokemon2.owner.name)) { pbUpdate }
pbMessageDisplay(@sprites["msgwindow"],
_INTL("Take good care of {1}.", speciesname2)) { pbUpdate }
# Show Pokédex entry for new species if it hasn't been owned before
if Settings::SHOW_NEW_SPECIES_POKEDEX_ENTRY_MORE_OFTEN && !was_owned && $player.has_pokedex
pbMessageDisplay(@sprites["msgwindow"],
_INTL("{1}'s data was added to the Pokédex.", speciesname2)) { pbUpdate }
$player.pokedex.register_last_seen(@pokemon2)
pbFadeOutIn {
scene = PokemonPokedexInfo_Scene.new
screen = PokemonPokedexInfoScreen.new(scene)
screen.pbDexEntry(@pokemon2.species)
pbEndScreen(false)
}
end
end
end
@@ -212,8 +227,6 @@ def pbStartTrade(pokemonIndex, newpoke, nickname, trainerName, trainerGender = 0
yourPokemon.obtain_method = 2 # traded
yourPokemon.reset_moves if resetmoves
yourPokemon.record_first_moves
$player.pokedex.register(yourPokemon)
$player.pokedex.set_owned(yourPokemon.species)
pbFadeOutInWithMusic {
evo = PokemonTrade_Scene.new
evo.pbStartScreen(myPokemon, yourPokemon, $player.name, trainerName)