diff --git a/Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb b/Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb index 9d19dd565..ff688c39e 100644 --- a/Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb +++ b/Data/Scripts/011_Battle/002_Battler/003_Battler_ChangeSelf.rb @@ -86,7 +86,9 @@ class Battle::Battler # Do other things @battle.pbClearChoice(@index) # Reset choice pbOwnSide.effects[PBEffects::LastRoundFainted] = @battle.turnCount - $game_temp.party_direct_damage_taken[@pokemonIndex] = 0 if pbOwnedByPlayer? + if $game_temp.party_direct_damage_taken && pbOwnedByPlayer? + $game_temp.party_direct_damage_taken[@pokemonIndex] = 0 + end # Check other battlers' abilities that trigger upon a battler fainting pbAbilitiesOnFainting # Check for end of primordial weather diff --git a/Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb b/Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb index f17af1b1e..bcb3125a4 100644 --- a/Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb +++ b/Data/Scripts/011_Battle/003_Move/002_Move_Usage.rb @@ -288,7 +288,9 @@ class Battle::Move @battle.pbDisplay(_INTL("The substitute took damage for {1}!",target.pbThis(true))) end if target.damageState.critical - $game_temp.party_critical_hits_dealt[user.pokemonIndex] += 1 if user.pbOwnedByPlayer? + if $game_temp.party_critical_hits_dealt && user.pbOwnedByPlayer? + $game_temp.party_critical_hits_dealt[user.pokemonIndex] += 1 + end if target.damageState.affection_critical if numTargets > 1 @battle.pbDisplay(_INTL("{1} landed a critical hit on {2}, wishing to be praised!", @@ -382,6 +384,8 @@ class Battle::Move target.lastHPLostFromFoe = damage # For Metal Burst target.lastFoeAttacker.push(user.index) # For Metal Burst end - $game_temp.party_direct_damage_taken[target.pokemonIndex] += damage if target.pbOwnedByPlayer? + if $game_temp.party_direct_damage_taken && target.pbOwnedByPlayer? + $game_temp.party_direct_damage_taken[target.pokemonIndex] += damage + end end end diff --git a/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb b/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb index 1bebb22ab..c338fbd37 100644 --- a/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb +++ b/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb @@ -591,6 +591,7 @@ Events.onEndBattle += proc { |_sender,e| (decision!=2 && decision!=5) # not a loss or a draw $game_temp.party_levels_before_battle = nil $game_temp.party_critical_hits_dealt = nil + $game_temp.party_direct_damage_taken = nil # Check for blacking out or gaining Pickup/Huney Gather items case decision when 1, 4 # Win, capture