aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h51
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 { }
+ };
}
}