aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorGolrag <golrag.jeremy@gmail.com>2016-01-01 12:03:31 +0100
committerGolrag <golrag.jeremy@gmail.com>2016-01-01 15:34:15 +0100
commitdec59b72cce1b06dcf39f86ae45d992f4234dbc2 (patch)
treeecb7a87614a19fc7cbeae6f41345fedebd33545c /src/server/game/Entities
parent2c9eddefd782b0e576ff162893685dd4e04e5347 (diff)
Core/PacketIO: SMSG_DESTRUCTIBLE_BUILDING_DAMAGE
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index f58fcb8a69d..e39a8c96741 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -1985,14 +1985,13 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= NULL*/, u
// dealing damage, send packet
if (player)
{
- WorldPacket data(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 8 + 8 + 8 + 4 + 4);
- data << GetPackGUID();
- data << attackerOrHealer->GetPackGUID();
- data << player->GetPackGUID();
- data << uint32(-change); // change < 0 triggers SPELL_BUILDING_HEAL combat log event
- // change >= 0 triggers SPELL_BUILDING_DAMAGE event
- data << uint32(spellId);
- player->SendDirectMessage(&data);
+ WorldPackets::GameObject::DestructibleBuildingDamage packet;
+ packet.Caster = attackerOrHealer->GetGUID(); // todo: this can be a GameObject
+ packet.Target = GetGUID();
+ packet.Damage = -change;
+ packet.Owner = player->GetGUID();
+ packet.SpellID = spellId;
+ player->SendDirectMessage(packet.Write());
}
GameObjectDestructibleState newState = GetDestructibleState();