diff options
| author | ForesterDev <11771800+ForesterDev@users.noreply.github.com> | 2020-04-18 16:28:07 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-18 14:28:07 +0200 |
| commit | c0f516caee97e3fb844619dd544f7795a2b03da9 (patch) | |
| tree | f2f50cddc1daef80d3af31cc511dde1fcc5dfc2c /src/server/game/Server | |
| parent | 56f20d69a6ab23a9818f77fd4e2df541a7c30f0e (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.cpp | 16 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 24 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
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); |
