diff options
| author | ForesterDev <11771800+ForesterDev@users.noreply.github.com> | 2020-05-10 15:37:44 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-10 14:37:44 +0200 |
| commit | 5eaf68670ac13ae4b594b0fa2b6d36da61014b68 (patch) | |
| tree | 0ceee3839ddf7765422b53501a48bc46338bf9d0 /src/server/game/Server/Packets | |
| parent | 772f506a3b426e27ee64b0506aed06219c8d7747 (diff) | |
Core/PacketIO: Updated logout opcodes (#24519)
(cherry picked from commit f59a701e2903d6ef023cd10aa7f4a80a524a8c07)
# Conflicts:
# src/server/database/Database/Implementation/LoginDatabase.cpp
# src/server/database/Database/Implementation/LoginDatabase.h
# src/server/game/Handlers/MiscHandler.cpp
# src/server/game/Server/Packets/AuthenticationPackets.cpp
# src/server/game/Server/Packets/AuthenticationPackets.h
# src/server/game/Server/Packets/CharacterPackets.h
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/Protocol/Opcodes.h
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSession.h
# src/server/game/Server/WorldSocket.cpp
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src/server/game/Server/Packets')
| -rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.cpp | 7 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.h | 51 |
2 files changed, 58 insertions, 0 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 52d52ea3c53..14963c52ccd 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -33,3 +33,10 @@ WorldPacket const* WorldPackets::Character::LoginVerifyWorld::Write() _worldPacket << Pos; return &_worldPacket; } + +WorldPacket const* WorldPackets::Character::LogoutResponse::Write() +{ + _worldPacket << uint32(LogoutResult); + _worldPacket << uint8(Instant); + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index b0fad2c3663..15f76305232 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -55,6 +55,57 @@ namespace WorldPackets int32 MapID = -1; TaggedPosition<Position::XYZO> Pos; }; + + class LogoutRequest final : public ClientPacket + { + public: + LogoutRequest(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } + + void Read() override { } + }; + + class LogoutResponse final : public ServerPacket + { + public: + LogoutResponse() : ServerPacket(SMSG_LOGOUT_RESPONSE, 4 + 1) { } + + WorldPacket const* Write() override; + + uint32 LogoutResult = 0; + bool Instant = false; + }; + + class LogoutComplete final : public ServerPacket + { + public: + LogoutComplete() : ServerPacket(SMSG_LOGOUT_COMPLETE, 0) { } + + WorldPacket const* Write() override { return &_worldPacket; } + }; + + class LogoutCancel final : public ClientPacket + { + public: + LogoutCancel(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } + + void Read() override { } + }; + + class LogoutCancelAck final : public ServerPacket + { + public: + LogoutCancelAck() : ServerPacket(SMSG_LOGOUT_CANCEL_ACK, 0) { } + + WorldPacket const* Write() override { return &_worldPacket; } + }; + + class PlayerLogout final : public ClientPacket + { + public: + PlayerLogout(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } + + void Read() override { } + }; } } |
