diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 12 |
3 files changed, 27 insertions, 5 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 29979976f28..132177daa10 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1005,11 +1005,12 @@ void Player::SetDrunkValue(uint8 newDrunkValue, uint32 itemId /*= 0*/) if (newDrunkenState == oldDrunkenState) return; - WorldPacket data(SMSG_CROSSED_INEBRIATION_THRESHOLD, (8+4+4)); - data << uint64(GetGUID()); - data << uint32(newDrunkenState); - data << uint32(itemId); - SendMessageToSet(&data, true); + WorldPackets::Misc::CrossedInebriationThreshold data; + data.Guid = GetGUID(); + data.Threshold = newDrunkenState; + data.ItemID = itemId; + + SendMessageToSet(data.Write(), true); } void Player::Update(uint32 p_time) diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 29dd80ffdec..879449ec031 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -147,6 +147,15 @@ WorldPacket const* WorldPackets::Misc::PlaySound::Write() return &_worldPacket; } +WorldPacket const* WorldPackets::Misc::CrossedInebriationThreshold::Write() +{ + _worldPacket << Guid; + _worldPacket << uint32(Threshold); + _worldPacket << uint32(ItemID); + + return &_worldPacket; +} + WorldPacket const* WorldPackets::Misc::OverrideLight::Write() { _worldPacket << int32(AreaLightID); diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 6683cdc7588..6e9d9858b50 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -249,6 +249,18 @@ namespace WorldPackets void Read() override { } }; + class CrossedInebriationThreshold final : public ServerPacket + { + public: + CrossedInebriationThreshold() : ServerPacket(SMSG_CROSSED_INEBRIATION_THRESHOLD, 8 + 4 + 4) { } + + WorldPacket const* Write() override; + + ObjectGuid Guid; + uint32 Threshold = 0; + uint32 ItemID = 0; + }; + class OverrideLight final : public ServerPacket { public: |