aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpp <none@none>2010-03-14 21:10:21 +0100
committerSpp <none@none>2010-03-14 21:10:21 +0100
commitf1696c42c97a767f476f7c8f439a54fba8aa9801 (patch)
tree2e7c34eb364d9b1cd1116a459bdef3153f0e3c26
parent8ba7885cc8967f807ecc00ea06017cce176a85f3 (diff)
Send SMSG_DESTRUCTIBLE_BUILDING_DAMAGE when a destructible building takes damage
Thanks to Opterman for the packet structure. --HG-- branch : trunk
-rw-r--r--src/game/SpellEffects.cpp14
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);
+ }
}
}