diff options
author | thenecromancer <none@none> | 2009-05-20 22:39:52 +0200 |
---|---|---|
committer | thenecromancer <none@none> | 2009-05-20 22:39:52 +0200 |
commit | 6ebfe2f5803cb95bc8f2710892548a60ebe6f63d (patch) | |
tree | 6e1dc2c87d62dc5f091ffbdfd97b70c50b55b9f5 /src/game/Spell.cpp | |
parent | 883cd02304924f04e36306497cf0d36ab373d957 (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.cpp | 6 |
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()) |