aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-15 20:35:04 -0600
committermegamage <none@none>2009-03-15 20:35:04 -0600
commitfdab13e3c1ebd5f516eabca33fb98972a2d1b4c4 (patch)
tree2208bd3fb4ab5f621acf3acb5f03032a9dcdfb4e /src/game/SpellAuras.cpp
parent5bc3df176a50bc0eaa5c8f02e57229fd882b39fd (diff)
*Fix living bomb using a better way.
--HG-- branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index e925c0ebd59..3fa0a58c307 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -2051,25 +2051,27 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
m_target->SetReducedThreatPercent(0, 0);
return;
}
- // Haunt
- if(caster && m_spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellProto->SpellFamilyFlags[1] & 0x40000)
- {
- caster->CastCustomSpell(caster, 48210, &m_currentBasePoints, 0, 0, true);
- return;
- }
+
switch(m_spellProto->SpellFamilyName)
{
+ case SPELLFAMILY_WARLOCK:
+ // Haunt
+ if(m_spellProto->SpellFamilyFlags[1] & 0x40000)
+ {
+ if(caster)
+ caster->CastCustomSpell(caster, 48210, &m_currentBasePoints, 0, 0, true);
+ return;
+ }
+ break;
case SPELLFAMILY_MAGE:
// Living Bomb
- if (m_spellProto->SpellFamilyFlags[1] & 0x20000)
+ if(m_spellProto->SpellFamilyFlags[1] & 0x20000)
{
- if(!m_target || !(m_removeMode == AURA_REMOVE_BY_DISPEL || m_removeMode == AURA_REMOVE_BY_DEFAULT))
- return;
- Unit* target=NULL;
- m_target->CastSpell(target, GetModifier()->m_amount, true, NULL, NULL, GetCasterGUID());
+ if(caster && (m_removeMode == AURA_REMOVE_BY_DISPEL || m_removeMode == AURA_REMOVE_BY_DEFAULT))
+ caster->CastSpell(m_target, GetModifier()->m_amount, true);
return;
}
- break;
+ break;
}
}