[8537] Implement SPELL_AURA_MOD_CRIT_CHANCE for spell 31858

Signed-off-by: Ambal <pogrebniak@gala.net>
This commit is contained in:
Shendor 2009-09-25 20:19:03 +03:00 committed by Ambal
parent 19e28af2f0
commit f8047e9da0
5 changed files with 12 additions and 3 deletions

View file

@ -332,7 +332,7 @@ enum AuraType
SPELL_AURA_DEFLECT_SPELLS, SPELL_AURA_DEFLECT_SPELLS,
SPELL_AURA_288, SPELL_AURA_288,
SPELL_AURA_289, SPELL_AURA_289,
SPELL_AURA_290, SPELL_AURA_MOD_ALL_CRIT_CHANCE,
SPELL_AURA_291, SPELL_AURA_291,
SPELL_AURA_292, SPELL_AURA_292,
SPELL_AURA_293, SPELL_AURA_293,

View file

@ -340,7 +340,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
&Aura::HandleNoImmediateEffect, //287 SPELL_AURA_DEFLECT_SPELLS implemented in Unit::MagicSpellHitResult and Unit::MeleeSpellHitResult &Aura::HandleNoImmediateEffect, //287 SPELL_AURA_DEFLECT_SPELLS implemented in Unit::MagicSpellHitResult and Unit::MeleeSpellHitResult
&Aura::HandleUnused, //288 not used by any spells (3.09) except 1 test spell. &Aura::HandleUnused, //288 not used by any spells (3.09) except 1 test spell.
&Aura::HandleUnused, //289 unused &Aura::HandleUnused, //289 unused
&Aura::HandleUnused, //290 unused &Aura::HandleAuraModAllCritChance, //290 SPELL_AURA_MOD_ALL_CRIT_CHANCE
&Aura::HandleUnused, //291 unused &Aura::HandleUnused, //291 unused
&Aura::HandleNULL, //292 call stabled pet &Aura::HandleNULL, //292 call stabled pet
&Aura::HandleNULL, //293 2 test spells &Aura::HandleNULL, //293 2 test spells
@ -7405,3 +7405,9 @@ void Aura::HandleModTargetArmorPct(bool apply, bool Real)
((Player*)m_target)->UpdateArmorPenetration(); ((Player*)m_target)->UpdateArmorPenetration();
} }
void Aura::HandleAuraModAllCritChance(bool apply, bool Real)
{
this->HandleAuraModCritPercent(apply, Real);
this->HandleModSpellCritChance(apply, Real);
}

View file

@ -212,6 +212,7 @@ class MANGOS_DLL_SPEC Aura
void HandleNoReagentUseAura(bool Apply, bool Real); void HandleNoReagentUseAura(bool Apply, bool Real);
void HandlePhase(bool Apply, bool Real); void HandlePhase(bool Apply, bool Real);
void HandleModTargetArmorPct(bool Apply, bool Real); void HandleModTargetArmorPct(bool Apply, bool Real);
void HandleAuraModAllCritChance(bool Apply, bool Real);
virtual ~Aura(); virtual ~Aura();

View file

@ -586,6 +586,8 @@ void Player::UpdateSpellCritChance(uint32 school)
crit += GetSpellCritFromIntellect(); crit += GetSpellCritFromIntellect();
// Increase crit from SPELL_AURA_MOD_SPELL_CRIT_CHANCE // Increase crit from SPELL_AURA_MOD_SPELL_CRIT_CHANCE
crit += GetTotalAuraModifier(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 // Increase crit by school from SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL
crit += GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL, 1<<school); crit += GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL, 1<<school);
// Increase crit from spell crit ratings // Increase crit from spell crit ratings

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8536" #define REVISION_NR "8537"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__