Bug fixes: invisible timer, bad poison icon looking like normal poison, errant message when sending in a random replacement, incorrect seen/owned numbers, battle PP restoration item crash

This commit is contained in:
Maruno17
2020-11-25 19:15:49 +00:00
parent bf356a458b
commit e2dcba2169
8 changed files with 16 additions and 16 deletions

View File

@@ -19,6 +19,7 @@ class Sprite_Timer
def update def update
return if disposed? return if disposed?
if $game_system.timer_working if $game_system.timer_working
@timer.visible = true if @timer
if !@timer if !@timer
@timer=Window_AdvancedTextPokemon.newWithSize("",Graphics.width-120,0,120,64) @timer=Window_AdvancedTextPokemon.newWithSize("",Graphics.width-120,0,120,64)
@timer.width=@timer.borderX+96 @timer.width=@timer.borderX+96

View File

@@ -106,6 +106,7 @@ class PokeBattle_Battler
def statusCount=(value) def statusCount=(value)
@statusCount = value @statusCount = value
@pokemon.statusCount = value if @pokemon @pokemon.statusCount = value if @pokemon
@battle.scene.pbRefreshOne(@index)
end end
#============================================================================= #=============================================================================

View File

@@ -3035,7 +3035,7 @@ class PokeBattle_Move_0EB < PokeBattle_Move
next if b.fainted? || b.damageState.unaffected || switchedBattlers.include?(b.index) next if b.fainted? || b.damageState.unaffected || switchedBattlers.include?(b.index)
newPkmn = @battle.pbGetReplacementPokemonIndex(b.index,true) # Random newPkmn = @battle.pbGetReplacementPokemonIndex(b.index,true) # Random
next if newPkmn<0 next if newPkmn<0
@battle.pbRecallAndReplace(b.index,newPkmn) @battle.pbRecallAndReplace(b.index, newPkmn, true)
@battle.pbDisplay(_INTL("{1} was dragged out!",b.pbThis)) @battle.pbDisplay(_INTL("{1} was dragged out!",b.pbThis))
@battle.pbClearChoice(b.index) # Replacement Pokémon does nothing this round @battle.pbClearChoice(b.index) # Replacement Pokémon does nothing this round
switchedBattlers.push(b.index) switchedBattlers.push(b.index)
@@ -3077,7 +3077,7 @@ class PokeBattle_Move_0EC < PokeBattle_Move
next if b.hasActiveAbility?(:SUCTIONCUPS) && !@battle.moldBreaker next if b.hasActiveAbility?(:SUCTIONCUPS) && !@battle.moldBreaker
newPkmn = @battle.pbGetReplacementPokemonIndex(b.index,true) # Random newPkmn = @battle.pbGetReplacementPokemonIndex(b.index,true) # Random
next if newPkmn<0 next if newPkmn<0
@battle.pbRecallAndReplace(b.index,newPkmn) @battle.pbRecallAndReplace(b.index, newPkmn, true)
@battle.pbDisplay(_INTL("{1} was dragged out!",b.pbThis)) @battle.pbDisplay(_INTL("{1} was dragged out!",b.pbThis))
@battle.pbClearChoice(b.index) # Replacement Pokémon does nothing this round @battle.pbClearChoice(b.index) # Replacement Pokémon does nothing this round
switchedBattlers.push(b.index) switchedBattlers.push(b.index)
@@ -3114,7 +3114,7 @@ class PokeBattle_Move_0ED < PokeBattle_Move
return if user.fainted? return if user.fainted?
newPkmn = @battle.pbGetReplacementPokemonIndex(user.index) # Owner chooses newPkmn = @battle.pbGetReplacementPokemonIndex(user.index) # Owner chooses
return if newPkmn<0 return if newPkmn<0
@battle.pbRecallAndReplace(user.index,newPkmn,true) @battle.pbRecallAndReplace(user.index, newPkmn, false, true)
@battle.pbClearChoice(user.index) # Replacement Pokémon does nothing this round @battle.pbClearChoice(user.index) # Replacement Pokémon does nothing this round
@battle.moldBreaker = false @battle.moldBreaker = false
switchedBattlers.push(user.index) switchedBattlers.push(user.index)

View File

@@ -223,11 +223,11 @@ class PokeBattle_Battle
end end
# Actually performs the recalling and sending out in all situations. # Actually performs the recalling and sending out in all situations.
def pbRecallAndReplace(idxBattler,idxParty,batonPass=false) def pbRecallAndReplace(idxBattler,idxParty,randomReplacement=false,batonPass=false)
@scene.pbRecall(idxBattler) if !@battlers[idxBattler].fainted? @scene.pbRecall(idxBattler) if !@battlers[idxBattler].fainted?
@battlers[idxBattler].pbAbilitiesOnSwitchOut # Inc. primordial weather check @battlers[idxBattler].pbAbilitiesOnSwitchOut # Inc. primordial weather check
@scene.pbShowPartyLineup(idxBattler&1) if pbSideSize(idxBattler)==1 @scene.pbShowPartyLineup(idxBattler&1) if pbSideSize(idxBattler)==1
pbMessagesOnReplace(idxBattler,idxParty) pbMessagesOnReplace(idxBattler,idxParty) if !randomReplacement
pbReplace(idxBattler,idxParty,batonPass) pbReplace(idxBattler,idxParty,batonPass)
end end

View File

@@ -1238,7 +1238,7 @@ BattleHandlers::TargetItemAfterMoveUse.add(:REDCARD,
battle.pbDisplay(_INTL("{1} held up its {2} against {3}!", battle.pbDisplay(_INTL("{1} held up its {2} against {3}!",
battler.pbThis,battler.itemName,user.pbThis(true))) battler.pbThis,battler.itemName,user.pbThis(true)))
battler.pbConsumeItem battler.pbConsumeItem
battle.pbRecallAndReplace(user.index,newPkmn) battle.pbRecallAndReplace(user.index, newPkmn, true)
battle.pbDisplay(_INTL("{1} was dragged out!",user.pbThis)) battle.pbDisplay(_INTL("{1} was dragged out!",user.pbThis))
battle.pbClearChoice(user.index) # Replacement Pokémon does nothing this round battle.pbClearChoice(user.index) # Replacement Pokémon does nothing this round
switched.push(user.index) switched.push(user.index)

View File

@@ -169,13 +169,13 @@ class PokeBattle_Trainer
def pokedexSeen(region=-1) # Number of Pokémon seen def pokedexSeen(region=-1) # Number of Pokémon seen
ret=0 ret=0
if region==-1 if region==-1
for i in 0..PBSpecies.maxValue for i in 1..PBSpecies.maxValue
ret+=1 if @seen[i] ret+=1 if @seen[i]
end end
else else
regionlist=pbAllRegionalSpecies(region) regionlist=pbAllRegionalSpecies(region)
for i in regionlist for i in regionlist
ret+=1 if @seen[i] ret+=1 if i > 0 && @seen[i]
end end
end end
return ret return ret

View File

@@ -466,14 +466,12 @@ def pbRestorePP(pkmn,idxMove,pp)
return newpp-oldpp return newpp-oldpp
end end
def pbBattleRestorePP(pkmn,battler,idxMove,pp) def pbBattleRestorePP(pkmn, battler, idxMove, pp)
if pbRestorePP(pkmn,idxMove,pp)>0 return if pbRestorePP(pkmn,idxMove,pp) == 0
if battler && !battler.effects[PBEffects::Transform] && if battler && !battler.effects[PBEffects::Transform] &&
battler.moves[idxMove] && battler.moves[idxMove].id==pkmn.moves[idxMove].id battler.moves[idxMove] && battler.moves[idxMove].id == pkmn.moves[idxMove].id
battler.pbSetPP(battler.moves[idxMove],pkmn.moves[idxMove].pp) battler.pbSetPP(battler.moves[idxMove], pkmn.moves[idxMove].pp)
end
end end
return ret
end end
#=============================================================================== #===============================================================================

View File

@@ -908,7 +908,7 @@ def pbAllRegionalSpecies(region)
dexList = pbLoadRegionalDexes[region] dexList = pbLoadRegionalDexes[region]
return ret if !dexList || dexList.length==0 return ret if !dexList || dexList.length==0
for i in 0...dexList.length for i in 0...dexList.length
ret[dexList[i]] = i if dexList[i] ret[dexList[i]] = i if dexList[i] && dexList[i] > 0
end end
ret.map! { |e| e ? e : 0 } # Replace nils with 0s ret.map! { |e| e ? e : 0 } # Replace nils with 0s
return ret return ret