diff --git a/src/game/SpellAuraDefines.h b/src/game/SpellAuraDefines.h index e3f6ab630..10b4fd3e5 100644 --- a/src/game/SpellAuraDefines.h +++ b/src/game/SpellAuraDefines.h @@ -332,7 +332,7 @@ enum AuraType SPELL_AURA_DEFLECT_SPELLS, SPELL_AURA_288, SPELL_AURA_289, - SPELL_AURA_290, + SPELL_AURA_MOD_ALL_CRIT_CHANCE, SPELL_AURA_291, SPELL_AURA_292, SPELL_AURA_293, diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 1d7a43a48..df294eeec 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -340,7 +340,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]= &Aura::HandleNoImmediateEffect, //287 SPELL_AURA_DEFLECT_SPELLS implemented in Unit::MagicSpellHitResult and Unit::MeleeSpellHitResult &Aura::HandleUnused, //288 increase parry/deflect, prevent attack &Aura::HandleUnused, //289 unused - &Aura::HandleUnused, //290 3 spells + &Aura::HandleAuraModAllCritChance, //290 SPELL_AURA_MOD_ALL_CRIT_CHANCE &Aura::HandleUnused, //291 1 spell (+pct experience bonus) &Aura::HandleNULL, //292 call stabled pet &Aura::HandleNULL, //293 3 spells @@ -7417,3 +7417,9 @@ void Aura::HandleModTargetArmorPct(bool apply, bool Real) ((Player*)m_target)->UpdateArmorPenetration(); } + +void Aura::HandleAuraModAllCritChance(bool apply, bool Real) +{ + this->HandleAuraModCritPercent(apply, Real); + this->HandleModSpellCritChance(apply, Real); +} diff --git a/src/game/StatSystem.cpp b/src/game/StatSystem.cpp index c305e9e74..32dc01b1d 100644 --- a/src/game/StatSystem.cpp +++ b/src/game/StatSystem.cpp @@ -586,6 +586,8 @@ void Player::UpdateSpellCritChance(uint32 school) crit += GetSpellCritFromIntellect(); // Increase crit from SPELL_AURA_MOD_SPELL_CRIT_CHANCE crit += GetTotalAuraModifier(SPELL_AURA_MOD_SPELL_CRIT_CHANCE); + // Increase crit from SPELL_AURA_MOD_ALL_CRIT_CHANCE + crit += GetTotalAuraModifier(SPELL_AURA_MOD_ALL_CRIT_CHANCE); // Increase crit by school from SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL crit += GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL, 1<