From c79b5f58e523354bac1dec77853f05a49ef95eb1 Mon Sep 17 00:00:00 2001 From: ForesterDev <11771800+ForesterDev@users.noreply.github.com> Date: Mon, 20 Apr 2020 11:26:19 +0400 Subject: Core/PacketIO: updated SMSG_CROSSED_INEBRIATION_THRESHOLD (#24475) (cherry picked from commit 9f4e4b9546e5694bcf916a76a61b30cd02bf171a) # Conflicts: # src/server/game/Entities/Player/Player.cpp # src/server/game/Server/Packets/MiscPackets.cpp # src/server/game/Server/Packets/MiscPackets.h # src/server/game/Server/Protocol/Opcodes.cpp Co-authored-by: MitchesD --- src/server/game/Entities/Player/Player.cpp | 11 ++++++----- src/server/game/Server/Packets/MiscPackets.cpp | 9 +++++++++ src/server/game/Server/Packets/MiscPackets.h | 12 ++++++++++++ 3 files changed, 27 insertions(+), 5 deletions(-) (limited to 'src') 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: -- cgit v1.2.3