aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-04-20 11:26:19 +0400
committerGitHub <noreply@github.com>2020-04-20 09:26:19 +0200
commitc79b5f58e523354bac1dec77853f05a49ef95eb1 (patch)
tree12a4ede54ee01f61e5979a60f17bcae796828a88
parent60a8b27226af0e186a62fb9d5116e4af98152378 (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.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: