/* * This file is part of the AzerothCore Project. See AUTHORS file for Copyright information * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Affero General Public License as published by the * Free Software Foundation; either version 3 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #ifndef CharacterPackets_h__ #define CharacterPackets_h__ #include "Packet.h" namespace WorldPackets { namespace Character { class ShowingCloak final : public ClientPacket { public: ShowingCloak(WorldPacket&& packet) : ClientPacket(CMSG_SHOWING_CLOAK, std::move(packet)) { } void Read() override; bool ShowCloak = false; }; class ShowingHelm final : public ClientPacket { public: ShowingHelm(WorldPacket&& packet) : ClientPacket(CMSG_SHOWING_HELM, std::move(packet)) { } void Read() override; bool ShowHelm = false; }; 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 { } }; class PlayedTimeClient final : public ClientPacket { public: PlayedTimeClient(WorldPacket&& packet) : ClientPacket(CMSG_PLAYED_TIME, std::move(packet)) { } void Read() override; bool TriggerScriptEvent = false; }; class PlayedTime final : public ServerPacket { public: PlayedTime() : ServerPacket(SMSG_PLAYED_TIME, 9) { } WorldPacket const* Write() override; uint32 TotalTime = 0; uint32 LevelTime = 0; bool TriggerScriptEvent = false; }; } } #endif // CharacterPackets_h__