diff options
author | maximius <none@none> | 2009-11-17 20:07:34 -0800 |
---|---|---|
committer | maximius <none@none> | 2009-11-17 20:07:34 -0800 |
commit | 1bc7abb278166acae1b12a2acb70588d43daaac7 (patch) | |
tree | 17f9e88c47c0a268170644bb1aac8215178687ea | |
parent | 6b72b304ad4a24279991fbd1aa5be8f628da6823 (diff) |
*Lava Flows now put a buff on the Fire Shock's caster when it's dispelled, thanks lobuz
--HG--
branch : trunk
-rw-r--r-- | src/game/Unit.cpp | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index f5c2cb0eb5b..4320ad895f9 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -3968,6 +3968,23 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit dispeller->CastCustomSpell(dispeller, 31117, &damage, NULL, NULL, true, NULL, NULL, GetGUID()); } } + if (aur->GetSpellProto()->SpellFamilyName == SPELLFAMILY_SHAMAN && (aur->GetSpellProto()->SpellFamilyFlags[0] & 0x10000000)) + { + Unit *caster = GetUnit(*this, casterGUID); + uint32 triggered_spell_id = 0; + if (caster) + { + // Lava Flows + if (caster->HasAura(51482)) // Rank 3 + triggered_spell_id = 65264; + else if (caster->HasAura(51481)) // Rank 2 + triggered_spell_id = 65263; + else if (caster->HasAura(51480)) // Rank 1 + triggered_spell_id = 64694; + if (triggered_spell_id) + caster->CastSpell(caster, triggered_spell_id, true); + } + } return; } else @@ -6575,7 +6592,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger // Shaman Tier 6 Trinket case 40463: { - if( !procSpell ) + if (!procSpell) return false; float chance; @@ -6603,29 +6620,11 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger target = this; break; } - // Lava Flows (Rank 1) - case 51480: - { - triggered_spell_id = 64694; - break; - } - // Lava Flows (Rank 2) - case 51481: - { - triggered_spell_id = 65263; - break; - } - // Lava Flows (Rank 3) - case 51482: - { - triggered_spell_id = 65264; - break; - } // Glyph of Healing Wave case 55440: { // Not proc from self heals - if (this==pVictim) + if (this == pVictim) return false; basepoints0 = triggerAmount * damage / 100; target = this; |