diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 02207f2fa5..db248021fd 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -490,22 +490,18 @@ void Aura::_InitEffects(uint8 effMask, Unit* caster, int32 const* baseAmount) } } -bool Aura::CanPeriodicTickCrit(Unit const* caster) const +bool Aura::CanPeriodicTickCrit() const { - if (m_spellInfo->HasAttribute(SPELL_ATTR8_PERIODIC_CAN_CRIT)) - return true; - if (m_spellInfo->HasAttribute(SPELL_ATTR2_CANT_CRIT)) return false; - return caster->HasAuraTypeWithAffectMask(SPELL_AURA_ABILITY_PERIODIC_CRIT, GetSpellInfo()); - + return true; } float Aura::CalcPeriodicCritChance(Unit const* caster) const { Player* modOwner = caster->GetSpellModOwner(); - if (!modOwner || !CanPeriodicTickCrit(modOwner)) + if (!modOwner || !CanPeriodicTickCrit()) return 0.f; float critChance = modOwner->SpellCritChanceDone(GetSpellInfo(), GetSpellInfo()->GetSchoolMask(), GetSpellInfo()->GetAttackType(), true); diff --git a/src/server/game/Spells/Auras/SpellAuras.h b/src/server/game/Spells/Auras/SpellAuras.h index 8de8654d68..e1764b3d46 100644 --- a/src/server/game/Spells/Auras/SpellAuras.h +++ b/src/server/game/Spells/Auras/SpellAuras.h @@ -202,7 +202,7 @@ class TC_GAME_API Aura void SetLoadedState(int32 maxduration, int32 duration, int32 charges, uint8 stackamount, uint8 recalculateMask, float critChance, bool applyResilience, int32* amount); // helpers for aura effects - bool CanPeriodicTickCrit(Unit const* caster) const; + bool CanPeriodicTickCrit() const; float CalcPeriodicCritChance(Unit const* caster) const; bool HasEffect(uint8 effIndex) const { return GetEffect(effIndex) != nullptr; }