diff options
-rw-r--r-- | src/game/SpellEffects.cpp | 9 | ||||
-rw-r--r-- | src/game/Unit.cpp | 13 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 31d548c5254..1552747f65c 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1415,15 +1415,6 @@ void Spell::EffectDummy(uint32 i) m_caster->GetTotalAttackPowerValue(BASE_ATTACK)*0.2f); break; } - // Slam - if(m_spellInfo->SpellFamilyFlags[0] & 0x200000) - { - if(!unitTarget) - return; - m_damage+=m_caster->CalculateDamage(m_attackType, false); - m_damage+=damage; - return; - } // Concussion Blow if(m_spellInfo->SpellFamilyFlags[0] & 0x4000000) { diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4c1022d4ae9..2510f045c6e 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4078,6 +4078,15 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit dispeler->CastCustomSpell(dispeler, 31117, &damage, NULL, NULL, true, NULL, NULL,GetGUID()); return; } + // Vampiric Touch + else if (aur->GetSpellProto()->SpellFamilyName == SPELLFAMILY_PRIEST && (aur->GetSpellProto()->SpellFamilyFlags[1] & 0x0400)) + { + int32 damage = aur->GetPartAura(1)->GetAmount()*4; + RemoveAuraFromStack(iter, AURA_REMOVE_BY_ENEMY_SPELL); + // backfire damage + dispeler->CastCustomSpell(dispeler, 64085, &damage, NULL, NULL, true, NULL, NULL,GetGUID()); + return; + } RemoveAuraFromStack(iter, AURA_REMOVE_BY_ENEMY_SPELL); return; } @@ -5909,7 +5918,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger } } // Eclipse - if (dummySpell->SpellIconID == 2856) + if (dummySpell->SpellIconID == 2856 && GetTypeId() == TYPEID_PLAYER) { if (!procSpell) return false; @@ -5921,6 +5930,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger { if (!roll_chance_i(60)) return false; + ((Player*)this)->AddSpellCooldown(48517,0,time(NULL) + cooldown); triggered_spell_id = 48518; target = this; break; @@ -5928,6 +5938,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger // Starfire crit if (procSpell->SpellFamilyFlags[0] & 0x4) { + ((Player*)this)->AddSpellCooldown(48518,0,time(NULL) + cooldown); triggered_spell_id = 48517; target = this; break; |