834 {
837
840 return;
841
844 int32 resilienceReduction = damage;
847 resilienceReduction = damage - resilienceReduction;
848 damage -= resilienceReduction;
849 uint32 mitigated_damage = resilienceReduction;
852 uint32 absorb = dmgInfo.GetAbsorb();
853 uint32 resist = dmgInfo.GetResist();
854 damage = dmgInfo.GetDamage();
857 if (overkill < 0)
858 overkill = 0;
862 }
std::int32_t int32
Definition Define.h:103
std::uint32_t uint32
Definition Define.h:107
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
@ CR_CRIT_TAKEN_SPELL
Definition Unit.h:247
@ DOT
Definition Unit.h:264
void PreventDefaultAction()
Definition SpellScript.cpp:991
SpellInfo const * GetSpellInfo() const
Definition SpellScript.cpp:1011
Unit * GetCaster() const
Definition SpellScript.cpp:1026
Unit * GetTarget() const
Definition SpellScript.cpp:1178
Difficulty GetDifficulty() const
Definition Map.h:294
bool IsHeroic() const
Definition Map.h:303
static uint32 DealDamage(Unit *attacker, Unit *victim, uint32 damage, CleanDamage const *cleanDamage=nullptr, DamageEffectType damagetype=DIRECT_DAMAGE, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *spellProto=nullptr, bool durabilityLoss=true, bool allowGM=false, Spell const *spell=nullptr, bool skipCombat=false)
Definition Unit.cpp:990
bool IsAlive() const
Definition Unit.h:1812
bool CanApplyResilience() const
Definition Unit.h:1186
uint32 GetHealth() const
Definition Unit.h:1122
static void ApplyResilience(Unit const *victim, float *crit, int32 *damage, bool isCrit, CombatRating type)
Definition Unit.cpp:14889
void SendPeriodicAuraLog(SpellPeriodicAuraLogInfo *pInfo)
Definition Unit.cpp:6624
bool HasSpiritOfRedemptionAura() const
Definition Unit.h:1823
static void DealDamageMods(Unit const *victim, uint32 &damage, uint32 *absorb)
Definition Unit.cpp:980
static void CalcAbsorbResist(DamageInfo &dmgInfo, bool Splited=false, uint8 casterLevel=0)
Definition Unit.cpp:2344
Map * GetMap() const
Definition Object.h:637