Added Gen 8's shiny chance increase with number battled, fixed other shiny chance-boosting effects not working

This commit is contained in:
Maruno17
2021-08-31 16:54:03 +01:00
parent 3c88c897f0
commit 218307d993
12 changed files with 172 additions and 40 deletions

View File

@@ -55,6 +55,7 @@ class PokeBattle_Battler
@battle.pbDisplayBrief(_INTL("{1} fainted!",pbThis)) if showMessage
PBDebug.log("[Pokémon fainted] #{pbThis} (#{@index})") if !showMessage
@battle.scene.pbFaintBattler(self)
@battle.pbSetDefeated(self) if opposes?
pbInitEffects(false)
# Reset status
self.status = :NONE

View File

@@ -42,7 +42,8 @@ module PokeBattle_BattleCommon
# Register all caught Pokémon in the Pokédex, and store them.
def pbRecordAndStoreCaughtPokemon
@caughtPokemon.each do |pkmn|
pbPlayer.pokedex.register(pkmn) # In case the form changed upon leaving battle
pbSetCaught(pkmn)
pbSetSeen(pkmn) # In case the form changed upon leaving battle
# Record the Pokémon's species as owned in the Pokédex
if !pbPlayer.owned?(pkmn.species)
pbPlayer.pokedex.set_owned(pkmn.species)

View File

@@ -628,7 +628,29 @@ class PokeBattle_Battle
def pbSetSeen(battler)
return if !battler || !@internalBattle
pbPlayer.pokedex.register(battler.displaySpecies,battler.displayGender,battler.displayForm)
if battler.is_a?(PokeBattle_Battler)
pbPlayer.pokedex.register(battler.displaySpecies,battler.displayGender,battler.displayForm)
else
pbPlayer.pokedex.register(battler)
end
end
def pbSetCaught(battler)
return if !battler || !@internalBattle
if battler.is_a?(PokeBattle_Battler)
pbPlayer.pokedex.register_caught(battler.displaySpecies)
else
pbPlayer.pokedex.register_caught(battler.species)
end
end
def pbSetDefeated(battler)
return if !battler || !@internalBattle
if battler.is_a?(PokeBattle_Battler)
pbPlayer.pokedex.register_defeated(battler.displaySpecies)
else
pbPlayer.pokedex.register_defeated(battler.species)
end
end
def nextPickupUse

View File

@@ -355,6 +355,24 @@ class PokeBattle_SafariZone
def pbGetOwnerFromBattlerIndex(idxBattler); return pbPlayer; end
def pbSetSeen(battler)
return if !battler || !@internalBattle
if battler.is_a?(PokeBattle_Battler)
pbPlayer.pokedex.register(battler.displaySpecies,battler.displayGender,battler.displayForm)
else
pbPlayer.pokedex.register(battler)
end
end
def pbSetCaught(battler)
return if !battler || !@internalBattle
if battler.is_a?(PokeBattle_Battler)
pbPlayer.pokedex.register_caught(battler.displaySpecies)
else
pbPlayer.pokedex.register_caught(battler.species)
end
end
#=============================================================================
# Get party info (counts all teams on the same side)
#=============================================================================
@@ -417,7 +435,7 @@ class PokeBattle_SafariZone
def pbStartBattle
begin
pkmn = @party2[0]
self.pbPlayer.pokedex.register(pkmn)
pbSetSeen(pkmn)
@scene.pbStartBattle(self)
pbDisplayPaused(_INTL("Wild {1} appeared!",pkmn.name))
@scene.pbSafariStart