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__