aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-04-18 16:28:07 +0400
committerGitHub <noreply@github.com>2020-04-18 14:28:07 +0200
commitc0f516caee97e3fb844619dd544f7795a2b03da9 (patch)
treef2f50cddc1daef80d3af31cc511dde1fcc5dfc2c /src/server/game/Server
parent56f20d69a6ab23a9818f77fd4e2df541a7c30f0e (diff)
Core/Packets: updated MSG_RANDOM_ROLL (#24457)
(cherry picked from commit 5dddfbdb7b4619d5f65aa0e009dbe14b5c6a2a3f) # Conflicts: # src/server/game/Handlers/ChatHandler.cpp # src/server/game/Handlers/GroupHandler.cpp # src/server/game/Server/Protocol/Opcodes.cpp # src/server/game/Server/Protocol/Opcodes.h # src/server/game/Server/WorldSession.h Co-authored-by: DJScias <djscias@gmail.com>
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp16
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h24
-rw-r--r--src/server/game/Server/WorldSession.h3
3 files changed, 42 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index dd75cafc3b4..29dd80ffdec 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -156,6 +156,22 @@ WorldPacket const* WorldPackets::Misc::OverrideLight::Write()
return &_worldPacket;
}
+void WorldPackets::Misc::RandomRollClient::Read()
+{
+ _worldPacket >> Min;
+ _worldPacket >> Max;
+}
+
+WorldPacket const* WorldPackets::Misc::RandomRoll::Write()
+{
+ _worldPacket << uint32(Min);
+ _worldPacket << uint32(Max);
+ _worldPacket << uint32(Result);
+ _worldPacket << Roller;
+
+ return &_worldPacket;
+}
+
WorldPacket const* WorldPackets::Misc::UITime::Write()
{
_worldPacket << uint32(Time);
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index bd5726d3249..6683cdc7588 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -261,6 +261,30 @@ namespace WorldPackets
int32 OverrideLightID = 0;
};
+ class RandomRollClient final : public ClientPacket
+ {
+ public:
+ RandomRollClient(WorldPacket&& packet) : ClientPacket(MSG_RANDOM_ROLL, std::move(packet)) { }
+
+ void Read() override;
+
+ uint32 Min = 0;
+ uint32 Max = 0;
+ };
+
+ class RandomRoll final : public ServerPacket
+ {
+ public:
+ RandomRoll() : ServerPacket(MSG_RANDOM_ROLL, 4 + 4 + 4 + 8) { }
+
+ WorldPacket const* Write() override;
+
+ uint32 Min = 0;
+ uint32 Max = 0;
+ uint32 Result = 0;
+ ObjectGuid Roller;
+ };
+
class UITime final : public ServerPacket
{
public:
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index f121805c106..7ff716f838d 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -140,6 +140,7 @@ namespace WorldPackets
class CompleteMovie;
class NextCinematicCamera;
class OpeningCinematic;
+ class RandomRollClient;
class WorldTeleport;
}
@@ -941,7 +942,7 @@ class TC_GAME_API WorldSession
void HandleWardenDataOpcode(WorldPacket& recvData);
void HandleWorldTeleportOpcode(WorldPackets::Misc::WorldTeleport& worldTeleport);
void HandleMinimapPingOpcode(WorldPacket& recvData);
- void HandleRandomRollOpcode(WorldPacket& recvData);
+ void HandleRandomRollOpcode(WorldPackets::Misc::RandomRollClient& packet);
void HandleFarSightOpcode(WorldPacket& recvData);
void HandleSetDungeonDifficultyOpcode(WorldPacket& recvData);
void HandleSetRaidDifficultyOpcode(WorldPacket& recvData);