diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 3aac4ad29..13547e3a8 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -767,9 +767,13 @@ void Spell::prepareDataForTriggerSystem() { switch (m_spellInfo->SpellFamilyName) { - case SPELLFAMILY_MAGE: // Arcane Missles / Blizzard triggers need do it + case SPELLFAMILY_MAGE: + // Arcane Missles / Blizzard triggers need do it if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000200080)) m_canTrigger = true; + // Clearcasting trigger need do it + else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000200000000) && m_spellInfo->SpellFamilyFlags2 & 0x8) + m_canTrigger = true; break; case SPELLFAMILY_WARLOCK: // For Hellfire Effect / Rain of Fire / Seed of Corruption triggers need do it if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000800000000060)) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index d56f36a62..43f8cd781 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4891,7 +4891,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu break; } - //Arcane Potency + // Arcane Potency if (dummySpell->SpellIconID == 2120) { if(!procSpell) @@ -10920,6 +10920,10 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag if (triggeredByAura->GetCasterGUID() != pTarget->GetGUID()) continue; break; + case SPELL_AURA_MOD_SPELL_CRIT_CHANCE: + if (!procSpell) + continue; + break; default: // nothing do, just charges counter break; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 300de3532..61d3f770b 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8027" + #define REVISION_NR "8028" #endif // __REVISION_NR_H__