diff options
author | ForesterDev <11771800+ForesterDev@users.noreply.github.com> | 2020-04-20 11:26:19 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-20 09:26:19 +0200 |
commit | c79b5f58e523354bac1dec77853f05a49ef95eb1 (patch) | |
tree | 12a4ede54ee01f61e5979a60f17bcae796828a88 | |
parent | 60a8b27226af0e186a62fb9d5116e4af98152378 (diff) |
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 <majklprofik@seznam.cz>
-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: |