aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authorthenecromancer <none@none>2009-05-20 22:39:52 +0200
committerthenecromancer <none@none>2009-05-20 22:39:52 +0200
commit6ebfe2f5803cb95bc8f2710892548a60ebe6f63d (patch)
tree6e1dc2c87d62dc5f091ffbdfd97b70c50b55b9f5 /src/game/Spell.cpp
parent883cd02304924f04e36306497cf0d36ab373d957 (diff)
Correct behavior of Add Extra Attact spelleffect.
Correctly send attack gain in spell log. Attack right after processing effect Ignore effect if target not in melee range/angle --HG-- branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 49b957c05bf..9c4681d2f1c 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -2728,6 +2728,10 @@ void Spell::finish(bool ok)
if (m_caster->GetTypeId() == TYPEID_PLAYER)
((Player*)m_caster)->RemoveSpellMods(this);
+ // Okay to remove extra attacks
+ if(IsSpellHaveEffect(m_spellInfo, SPELL_EFFECT_ADD_EXTRA_ATTACKS))
+ m_caster->m_extraAttacks = 0;
+
// Heal caster for all health leech from all targets
if (m_healthLeech)
{
@@ -2989,7 +2993,7 @@ void Spell::SendLogExecute()
data.append(unit->GetPackGUID());
else
data << uint8(0);
- data << uint32(0); // count?
+ data << uint32(m_caster->m_extraAttacks);
break;
case SPELL_EFFECT_INTERRUPT_CAST:
if(Unit *unit = m_targets.getUnitTarget())