From a9231eee9892c5634cf2abbbd2a7ea16e1d9749f Mon Sep 17 00:00:00 2001 From: Opterman Date: Thu, 30 Sep 2010 21:23:07 +0200 Subject: [PATCH] [10566] Implement SMSG_SPELLINSTAKILLLOG Signed-off-by: DasBlub --- src/game/SpellEffects.cpp | 12 ++++++++++-- src/shared/revision_nr.h | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 23aea9e4d..823966a00 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -266,12 +266,20 @@ void Spell::EffectResurrectNew(SpellEffectIndex eff_idx) void Spell::EffectInstaKill(SpellEffectIndex /*eff_idx*/) { - if( !unitTarget || !unitTarget->isAlive() ) + if (!unitTarget || !unitTarget->isAlive()) return; - if(m_caster == unitTarget) // prevent interrupt message + if (m_caster == unitTarget) // prevent interrupt message finish(); + WorldObject* caster = GetCastingObject(); // we need the original casting object + + WorldPacket data(SMSG_SPELLINSTAKILLLOG, (8+8+4)); + data << (caster && caster->GetTypeId() != TYPEID_GAMEOBJECT ? m_caster->GetObjectGuid() : ObjectGuid()); // Caster GUID + data << unitTarget->GetObjectGuid(); // Victim GUID + data << uint32(m_spellInfo->Id); + m_caster->SendMessageToSet(&data, true); + m_caster->DealDamage(unitTarget, unitTarget->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 347d3eba3..67745eef2 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10565" + #define REVISION_NR "10566" #endif // __REVISION_NR_H__