diff options
| author | Carbenium <keresztesschmidt@gmail.com> | 2015-04-02 02:25:00 +0200 |
|---|---|---|
| committer | Carbenium <keresztesschmidt@gmail.com> | 2015-04-02 02:36:12 +0200 |
| commit | 930a6af70a85f0d14b9befd74f33e0ad24f74875 (patch) | |
| tree | 047988887ef45f75ff3fa87546423aac4e5146eb /src/server/game/Entities/Unit | |
| parent | 7d3eb2077731e7a668dd87333d5c7e9ccb312f9e (diff) | |
Core/Unit: Implement SMSG_HEALTH_UPDATE
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 13 |
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; } |
