aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp11
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h12
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: