aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorCarbenium <keresztesschmidt@gmail.com>2015-04-02 02:25:00 +0200
committerCarbenium <keresztesschmidt@gmail.com>2015-04-02 02:36:12 +0200
commit930a6af70a85f0d14b9befd74f33e0ad24f74875 (patch)
tree047988887ef45f75ff3fa87546423aac4e5146eb /src/server/game/Entities/Unit
parent7d3eb2077731e7a668dd87333d5c7e9ccb312f9e (diff)
Core/Unit: Implement SMSG_HEALTH_UPDATE
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 324cd209afc..da615a847de 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -10094,6 +10094,19 @@ int32 Unit::ModifyHealth(int32 dVal)
gain = maxHealth - curHealth;
}
+ if (dVal < 0)
+ {
+ WorldPackets::Combat::HealthUpdate packet;
+ packet.Guid = GetGUID();
+ packet.Health = GetHealth();
+
+ if (GetTypeId() == TYPEID_PLAYER)
+ ToPlayer()->GetSession()->SendPacket(packet.Write());
+ else
+ if (Player* player = GetOwner()->ToPlayer())
+ player->GetSession()->SendPacket(packet.Write());
+ }
+
return gain;
}