diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellEffects.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index df687c3699b..f21b5a5f3ce 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -7414,7 +7414,19 @@ void Spell::EffectWMODamage(uint32 /*i*/) goft = sFactionTemplateStore.LookupEntry(gameObjTarget->GetUInt32Value(GAMEOBJECT_FACTION)); // Do not allow to damage GO's of friendly factions (ie: Wintergrasp Walls) if (casterft && goft && !casterft->IsFriendlyTo(*goft)) - gameObjTarget->TakenDamage((uint32)damage, caster); + { + gameObjTarget->TakenDamage(uint32(damage), caster); + WorldPacket data(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 8+8+8+4+4); + data.append(gameObjTarget->GetPackGUID()); + data.append(caster->GetPackGUID()); + if (Unit *who = caster->GetCharmerOrOwner()) + data.append(who->GetPackGUID()); + else + data << uint8(0); + data << uint32(damage); + data << uint32(m_spellInfo->Id); + gameObjTarget->SendMessageToSet(&data, false); + } } } |