Files
azerothcore-wotlk/src/server/game/Server/Packets/CharacterPackets.h
IntelligentQuantum 93322bcb4d refactor(Core/Packet): Character packets (#9546)
* Character

* Update CharacterHandler.cpp
2022-01-06 08:55:00 -03:00

123 lines
3.4 KiB
C++

/*
* 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 <http://www.gnu.org/licenses/>.
*/
#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__