mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
Core/Packets: updated CMSG_PLAYED_TIME, SMSG_PLAYED_TIME (#24674)
(cherry picked from commit 50b4a3a707)
# Conflicts:
# src/server/game/Server/Packets/CharacterPackets.cpp
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/WorldSession.h
# src/server/scripts/Northrend/Nexus/Nexus/nexus.h
Co-authored-by: MitchesD <majklprofik@seznam.cz>
This commit is contained in:
@@ -947,16 +947,13 @@ void WorldSession::HandleSetActionBarToggles(WorldPacket& recvData)
|
||||
GetPlayer()->SetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES, actionBar);
|
||||
}
|
||||
|
||||
void WorldSession::HandlePlayedTime(WorldPacket& recvData)
|
||||
void WorldSession::HandlePlayedTime(WorldPackets::Character::PlayedTimeClient& packet)
|
||||
{
|
||||
uint8 unk1;
|
||||
recvData >> unk1; // 0 or 1 expected
|
||||
|
||||
WorldPacket data(SMSG_PLAYED_TIME, 4 + 4 + 1);
|
||||
data << uint32(_player->GetTotalPlayedTime());
|
||||
data << uint32(_player->GetLevelPlayedTime());
|
||||
data << uint8(unk1); // 0 - will not show in chat frame
|
||||
SendPacket(&data);
|
||||
WorldPackets::Character::PlayedTime playedTime;
|
||||
playedTime.TotalTime = _player->GetTotalPlayedTime();
|
||||
playedTime.LevelTime = _player->GetLevelPlayedTime();
|
||||
playedTime.TriggerScriptEvent = packet.TriggerScriptEvent; // 0-1 - will not show in chat frame
|
||||
SendPacket(playedTime.Write());
|
||||
}
|
||||
|
||||
void WorldSession::HandleInspectOpcode(WorldPacket& recvData)
|
||||
|
||||
@@ -40,3 +40,17 @@ WorldPacket const* WorldPackets::Character::LogoutResponse::Write()
|
||||
_worldPacket << uint8(Instant);
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
void WorldPackets::Character::PlayedTimeClient::Read()
|
||||
{
|
||||
_worldPacket >> TriggerScriptEvent;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Character::PlayedTime::Write()
|
||||
{
|
||||
_worldPacket << uint32(TotalTime);
|
||||
_worldPacket << uint32(LevelTime);
|
||||
_worldPacket << uint8(TriggerScriptEvent);
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
@@ -106,6 +106,28 @@ namespace WorldPackets
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ namespace WorldPackets
|
||||
class ShowingCloak;
|
||||
class ShowingHelm;
|
||||
class PlayerLogout;
|
||||
class PlayedTimeClient;
|
||||
}
|
||||
|
||||
namespace Chat
|
||||
@@ -586,7 +587,7 @@ class TC_GAME_API WorldSession
|
||||
void SendBarberShopResult(BarberShopResult result);
|
||||
|
||||
// played time
|
||||
void HandlePlayedTime(WorldPacket& recvPacket);
|
||||
void HandlePlayedTime(WorldPackets::Character::PlayedTimeClient& packet);
|
||||
|
||||
// new
|
||||
void HandleMoveUnRootAck(WorldPacket& recvPacket);
|
||||
|
||||
Reference in New Issue
Block a user