Files
infinitefusion-e18/Data/Scripts/011_Battle/007_PokeBattle_DamageState.rb
2021-05-04 21:30:26 +01:00

51 lines
1.7 KiB
Ruby

class PokeBattle_DamageState
attr_accessor :initialHP
attr_accessor :typeMod # Type effectiveness
attr_accessor :unaffected
attr_accessor :protected
attr_accessor :magicCoat
attr_accessor :magicBounce
attr_accessor :totalHPLost # Like hpLost, but cumulative over all hits
attr_accessor :fainted # Whether battler was knocked out by the move
attr_accessor :missed # Whether the move failed the accuracy check
attr_accessor :calcDamage # Calculated damage
attr_accessor :hpLost # HP lost by opponent, inc. HP lost by a substitute
attr_accessor :critical # Critical hit flag
attr_accessor :substitute # Whether a substitute took the damage
attr_accessor :focusBand # Focus Band used
attr_accessor :focusSash # Focus Sash used
attr_accessor :sturdy # Sturdy ability used
attr_accessor :disguise # Disguise ability used
attr_accessor :endured # Damage was endured
attr_accessor :berryWeakened # Whether a type-resisting berry was used
def initialize; reset; end
def reset
@initialHP = 0
@typeMod = Effectiveness::INEFFECTIVE
@unaffected = false
@protected = false
@magicCoat = false
@magicBounce = false
@totalHPLost = 0
@fainted = false
resetPerHit
end
def resetPerHit
@missed = false
@calcDamage = 0
@hpLost = 0
@critical = false
@substitute = false
@focusBand = false
@focusSash = false
@sturdy = false
@disguise = false
@endured = false
@berryWeakened = false
end
end