aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-04-06 19:10:28 +0200
committerShauren <shauren.trinity@gmail.com>2021-04-06 19:10:28 +0200
commitf759809d9d4364bc1d988e4390d3d5a33d5469e9 (patch)
treea5a5462bd9ca63583da9606157f61301d45cbc08 /src/server
parenta8e6282ff5a6a6dfdb98bdbf74dc9ed5a911d991 (diff)
Core/PacketIO: Use new time utilities in packets instead of plain time_t/uint32
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp18
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp15
-rw-r--r--src/server/game/Groups/Group.cpp2
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp2
-rw-r--r--src/server/game/Handlers/BattleGroundHandler.cpp12
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp4
-rw-r--r--src/server/game/Handlers/GuildHandler.cpp3
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp4
-rw-r--r--src/server/game/Handlers/PetHandler.cpp2
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp3
-rw-r--r--src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp2
-rw-r--r--src/server/game/Scenarios/Scenario.cpp4
-rw-r--r--src/server/game/Server/Packets/AchievementPackets.cpp12
-rw-r--r--src/server/game/Server/Packets/AchievementPackets.h13
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp2
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h2
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.h3
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.h6
-rw-r--r--src/server/game/Server/Packets/BlackMarketPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/BlackMarketPackets.h4
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h2
-rw-r--r--src/server/game/Server/Packets/ClientConfigPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/ClientConfigPackets.h9
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp20
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h20
-rw-r--r--src/server/game/Server/Packets/GuildFinderPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/GuildFinderPackets.h7
-rw-r--r--src/server/game/Server/Packets/GuildPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/GuildPackets.h5
-rw-r--r--src/server/game/Server/Packets/LFGPacketsCommon.cpp2
-rw-r--r--src/server/game/Server/Packets/LFGPacketsCommon.h3
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h6
-rw-r--r--src/server/game/Server/Packets/PartyPackets.h2
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/QueryPackets.h4
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h4
-rw-r--r--src/server/game/Server/Packets/TicketPackets.cpp10
-rw-r--r--src/server/game/Server/Packets/TicketPackets.h12
-rw-r--r--src/server/game/Server/Packets/TokenPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/TokenPackets.h11
45 files changed, 139 insertions, 128 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index c8050f34283..37b58dee9c3 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -417,8 +417,8 @@ void PlayerAchievementMgr::SendAllData(Player const* /*receiver*/) const
progress.Player = itr->second.PlayerGUID;
progress.Flags = 0;
progress.Date = itr->second.Date;
- progress.TimeFromStart = 0;
- progress.TimeFromCreate = 0;
+ progress.TimeFromStart = Seconds::zero();
+ progress.TimeFromCreate = Seconds::zero();
achievementData.Data.Progress.push_back(progress);
if (criteria->FlagsCu & CRITERIA_FLAG_CU_ACCOUNT)
@@ -429,8 +429,8 @@ void PlayerAchievementMgr::SendAllData(Player const* /*receiver*/) const
progress.Player = _owner->GetSession()->GetBattlenetAccountGUID();
progress.Flags = 0;
progress.Date = itr->second.Date;
- progress.TimeFromStart = 0;
- progress.TimeFromCreate = 0;
+ progress.TimeFromStart = Seconds::zero();
+ progress.TimeFromCreate = Seconds::zero();
allAccountCriteria.Progress.push_back(progress);
}
}
@@ -474,8 +474,8 @@ void PlayerAchievementMgr::SendAchievementInfo(Player* receiver, uint32 /*achiev
progress.Player = itr->second.PlayerGUID;
progress.Flags = 0;
progress.Date = itr->second.Date;
- progress.TimeFromStart = 0;
- progress.TimeFromCreate = 0;
+ progress.TimeFromStart = Seconds::zero();
+ progress.TimeFromCreate = Seconds::zero();
inspectedAchievements.Data.Progress.push_back(progress);
}
@@ -596,8 +596,8 @@ void PlayerAchievementMgr::SendCriteriaUpdate(Criteria const* criteria, Criteria
criteriaUpdate.Progress.Flags = timedCompleted ? 1 : 0; // 1 is for keeping the counter at 0 in client
criteriaUpdate.Progress.Date = progress->Date;
- criteriaUpdate.Progress.TimeFromStart = uint32(timeElapsed.count());
- criteriaUpdate.Progress.TimeFromCreate = 0;
+ criteriaUpdate.Progress.TimeFromStart = timeElapsed;
+ criteriaUpdate.Progress.TimeFromCreate = Seconds::zero();
SendPacket(criteriaUpdate.Write());
}
@@ -613,7 +613,7 @@ void PlayerAchievementMgr::SendCriteriaUpdate(Criteria const* criteria, Criteria
criteriaUpdate.Flags = timedCompleted ? 1 : 0; // 1 is for keeping the counter at 0 in client
criteriaUpdate.CurrentTime = progress->Date;
- criteriaUpdate.ElapsedTime = uint32(timeElapsed.count());
+ criteriaUpdate.ElapsedTime = timeElapsed;
criteriaUpdate.CreationTime = 0;
SendPacket(criteriaUpdate.Write());
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 0f475589192..245a563e46e 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -411,11 +411,11 @@ inline void Battleground::_ProcessJoin(uint32 diff)
// Send packet every 10 seconds until the 2nd field reach 0
if (m_CountdownTimer >= 10000)
{
- int32 countdownMaxForBGType = isArena() ? ARENA_COUNTDOWN_MAX : BATTLEGROUND_COUNTDOWN_MAX;
+ Seconds countdownMaxForBGType = Seconds(isArena() ? ARENA_COUNTDOWN_MAX : BATTLEGROUND_COUNTDOWN_MAX);
WorldPackets::Misc::StartTimer startTimer;
startTimer.Type = 0;
- startTimer.TimeLeft = countdownMaxForBGType - (GetElapsedTime() / 1000);
+ startTimer.TimeLeft = std::chrono::duration_cast<Seconds>(countdownMaxForBGType - Milliseconds(GetElapsedTime()));
startTimer.TotalTime = countdownMaxForBGType;
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
@@ -745,7 +745,7 @@ void Battleground::EndBattleground(uint32 winner)
WorldPackets::Battleground::PVPMatchComplete pvpMatchComplete;
pvpMatchComplete.Winner = GetWinner();
- pvpMatchComplete.Duration = std::max<int32>(0, (GetElapsedTime() - BG_START_DELAY_2M) / IN_MILLISECONDS);
+ pvpMatchComplete.Duration = std::chrono::duration_cast<Seconds>(Milliseconds(std::max<int32>(0, (GetElapsedTime() - BG_START_DELAY_2M))));
pvpMatchComplete.LogData.emplace();
BuildPvPLogDataPacket(*pvpMatchComplete.LogData);
pvpMatchComplete.Write();
@@ -1076,8 +1076,9 @@ void Battleground::AddPlayer(Player* player)
if (GetElapsedTime() >= BG_START_DELAY_2M)
{
- pvpMatchInitialize.Duration = (GetElapsedTime() - BG_START_DELAY_2M) / IN_MILLISECONDS;
- pvpMatchInitialize.StartTime = GameTime::GetGameTime() - pvpMatchInitialize.Duration;
+ Milliseconds duration(GetElapsedTime() - BG_START_DELAY_2M);
+ pvpMatchInitialize.Duration = std::chrono::duration_cast<Seconds>(duration);
+ pvpMatchInitialize.StartTime = GameTime::GetGameTimeSystemPoint() - duration;
}
pvpMatchInitialize.ArenaFaction = player->GetBGTeam() == HORDE ? BG_TEAM_HORDE : BG_TEAM_ALLIANCE;
pvpMatchInitialize.BattlemasterListID = GetTypeID();
@@ -1107,11 +1108,11 @@ void Battleground::AddPlayer(Player* player)
{
player->CastSpell(player, SPELL_PREPARATION, true); // reduces all mana cost of spells.
- int32 countdownMaxForBGType = isArena() ? ARENA_COUNTDOWN_MAX : BATTLEGROUND_COUNTDOWN_MAX;
+ Seconds countdownMaxForBGType = Seconds(isArena() ? ARENA_COUNTDOWN_MAX : BATTLEGROUND_COUNTDOWN_MAX);
WorldPackets::Misc::StartTimer startTimer;
startTimer.Type = 0;
- startTimer.TimeLeft = countdownMaxForBGType - (GetElapsedTime() / 1000);
+ startTimer.TimeLeft = std::chrono::duration_cast<Seconds>(countdownMaxForBGType - Milliseconds(GetElapsedTime()));
startTimer.TotalTime = countdownMaxForBGType;
player->SendDirectMessage(startTimer.Write());
}
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index eaa18b88257..a9fd5085d11 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -2299,7 +2299,7 @@ void Group::StartReadyCheck(ObjectGuid starterGuid, int8 partyIndex, Millisecond
readyCheckStarted.PartyGUID = m_guid;
readyCheckStarted.PartyIndex = partyIndex;
readyCheckStarted.InitiatorGUID = starterGuid;
- readyCheckStarted.Duration = uint32(duration.count());
+ readyCheckStarted.Duration = duration;
BroadcastPacket(readyCheckStarted.Write(), false);
}
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index 5da7b1cd186..5a505dc100f 100644
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -182,7 +182,7 @@ void WorldSession::HandleAuctionGetCommodityQuote(WorldPackets::AuctionHouse::Au
{
commodityQuoteResult.TotalPrice = quote->TotalPrice;
commodityQuoteResult.Quantity = quote->Quantity;
- commodityQuoteResult.QuoteDuration = std::chrono::duration_cast<Milliseconds>(quote->ValidTo - GameTime::GetGameTimeSteadyPoint()).count();
+ commodityQuoteResult.QuoteDuration = std::chrono::duration_cast<Milliseconds>(quote->ValidTo - GameTime::GetGameTimeSteadyPoint());
}
commodityQuoteResult.DesiredDelay = uint32(throttle.DelayUntilNext.count());
diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp
index 6e94c89917d..18be1fbf290 100644
--- a/src/server/game/Handlers/BattleGroundHandler.cpp
+++ b/src/server/game/Handlers/BattleGroundHandler.cpp
@@ -261,7 +261,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
if (!_player->InBattlegroundQueue())
{
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Player not in queue!",
- GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time, uint32(battlefieldPort.AcceptedInvite));
+ GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
return;
}
@@ -269,7 +269,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
if (bgQueueTypeId == BATTLEGROUND_QUEUE_NONE)
{
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Invalid queueSlot!",
- GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time, uint32(battlefieldPort.AcceptedInvite));
+ GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
return;
}
@@ -280,14 +280,14 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
if (!bgQueue.GetPlayerGroupInfoData(_player->GetGUID(), &ginfo))
{
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Player not in queue (No player Group Info)!",
- GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time, uint32(battlefieldPort.AcceptedInvite));
+ GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
return;
}
// if action == 1, then player must have been invited to join
if (!ginfo.IsInvitedToBGInstanceGUID && battlefieldPort.AcceptedInvite)
{
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Player is not invited to any bg!",
- GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time, uint32(battlefieldPort.AcceptedInvite));
+ GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
return;
}
@@ -300,7 +300,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
if (battlefieldPort.AcceptedInvite)
{
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Cant find BG with id %u!",
- GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time, uint32(battlefieldPort.AcceptedInvite), ginfo.IsInvitedToBGInstanceGUID);
+ GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite), ginfo.IsInvitedToBGInstanceGUID);
return;
}
@@ -313,7 +313,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
}
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u.",
- GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time, uint32(battlefieldPort.AcceptedInvite));
+ GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
// get real bg type
bgTypeId = bg->GetTypeID();
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index a38f7477d70..6245b50a9d6 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -1057,9 +1057,9 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
WorldPackets::ClientConfig::AccountDataTimes accountDataTimes;
accountDataTimes.PlayerGuid = playerGuid;
- accountDataTimes.ServerTime = uint32(GameTime::GetGameTime());
+ accountDataTimes.ServerTime = GameTime::GetGameTimeSystemPoint();
for (uint32 i = 0; i < NUM_ACCOUNT_DATA_TYPES; ++i)
- accountDataTimes.AccountTimes[i] = uint32(GetAccountData(AccountDataType(i))->Time);
+ accountDataTimes.AccountTimes[i] = GetAccountData(AccountDataType(i))->Time;
SendPacket(accountDataTimes.Write());
diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp
index ccfcf2222af..25002c2f0b6 100644
--- a/src/server/game/Handlers/GuildHandler.cpp
+++ b/src/server/game/Handlers/GuildHandler.cpp
@@ -18,6 +18,7 @@
#include "WorldSession.h"
#include "AchievementPackets.h"
#include "Common.h"
+#include "GameTime.h"
#include "Guild.h"
#include "GuildMgr.h"
#include "GuildPackets.h"
@@ -386,7 +387,7 @@ void WorldSession::HandleRequestGuildRewardsList(WorldPackets::Guild::RequestGui
std::vector<GuildReward> const& rewards = sGuildMgr->GetGuildRewards();
WorldPackets::Guild::GuildRewardList rewardList;
- rewardList.Version = uint32(time(nullptr));
+ rewardList.Version = GameTime::GetGameTimeSystemPoint();
rewardList.RewardItems.reserve(rewards.size());
for (uint32 i = 0; i < rewards.size(); i++)
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 6ce4e621e99..5fc0f8468a5 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -634,7 +634,7 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPackets::AreaTrigger::AreaTrigge
void WorldSession::HandleUpdateAccountData(WorldPackets::ClientConfig::UserClientUpdateAccountData& packet)
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_UPDATE_ACCOUNT_DATA: type %u, time %u, decompressedSize %u",
- packet.DataType, packet.Time, packet.Size);
+ packet.DataType, packet.Time.AsUnderlyingType(), packet.Size);
if (packet.DataType > NUM_ACCOUNT_DATA_TYPES)
return;
@@ -1045,7 +1045,7 @@ void WorldSession::HandleGuildSetFocusedAchievement(WorldPackets::Achievement::G
void WorldSession::HandleServerTimeOffsetRequest(WorldPackets::Misc::ServerTimeOffsetRequest& /*request*/)
{
WorldPackets::Misc::ServerTimeOffset response;
- response.Time = time(nullptr);
+ response.Time = GameTime::GetGameTimeSystemPoint();
SendPacket(response.Write());
}
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index ddc53416c77..aaeb25b4dab 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -427,7 +427,7 @@ void WorldSession::SendQueryPetNameResponse(ObjectGuid guid)
if (Creature* unit = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid))
{
response.Allow = true;
- response.Timestamp = unit->m_unitData->PetNameTimestamp;
+ response.Timestamp = *unit->m_unitData->PetNameTimestamp;
response.Name = unit->GetName();
if (Pet* pet = unit->ToPet())
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index 090a1d1e87f..c146cefcb91 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -20,6 +20,7 @@
#include "Corpse.h"
#include "DatabaseEnv.h"
#include "DB2Stores.h"
+#include "GameTime.h"
#include "Item.h"
#include "Log.h"
#include "MapManager.h"
@@ -59,7 +60,7 @@ void WorldSession::HandleQueryTimeOpcode(WorldPackets::Query::QueryTime& /*query
void WorldSession::SendQueryTimeResponse()
{
WorldPackets::Query::QueryTimeResponse queryTimeResponse;
- queryTimeResponse.CurrentTime = time(nullptr);
+ queryTimeResponse.CurrentTime = GameTime::GetGameTimeSystemPoint();
SendPacket(queryTimeResponse.Write());
}
diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
index 748b4e45234..61394932987 100644
--- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
+++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
@@ -254,7 +254,7 @@ void QuestObjectiveCriteriaMgr::SendCriteriaUpdate(Criteria const* criteria, Cri
criteriaUpdate.Flags = timedCompleted ? 1 : 0; // 1 is for keeping the counter at 0 in client
criteriaUpdate.CurrentTime = progress->Date;
- criteriaUpdate.ElapsedTime = uint32(timeElapsed.count());
+ criteriaUpdate.ElapsedTime = timeElapsed;
criteriaUpdate.CreationTime = 0;
SendPacket(criteriaUpdate.Write());
diff --git a/src/server/game/Scenarios/Scenario.cpp b/src/server/game/Scenarios/Scenario.cpp
index 7fa69bdec28..331307776ec 100644
--- a/src/server/game/Scenarios/Scenario.cpp
+++ b/src/server/game/Scenarios/Scenario.cpp
@@ -149,8 +149,8 @@ void Scenario::SendCriteriaUpdate(Criteria const * criteria, CriteriaProgress co
if (criteria->Entry->StartTimer)
progressUpdate.CriteriaProgress.Flags = timedCompleted ? 1 : 0;
- progressUpdate.CriteriaProgress.TimeFromStart = uint32(timeElapsed.count());
- progressUpdate.CriteriaProgress.TimeFromCreate = 0;
+ progressUpdate.CriteriaProgress.TimeFromStart = timeElapsed;
+ progressUpdate.CriteriaProgress.TimeFromCreate = Seconds::zero();
SendPacket(progressUpdate.Write());
}
diff --git a/src/server/game/Server/Packets/AchievementPackets.cpp b/src/server/game/Server/Packets/AchievementPackets.cpp
index 033f4b9ccf6..945ad376645 100644
--- a/src/server/game/Server/Packets/AchievementPackets.cpp
+++ b/src/server/game/Server/Packets/AchievementPackets.cpp
@@ -33,8 +33,8 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Achievement::CriteriaProg
data << uint64(criteria.Quantity);
data << criteria.Player;
data.AppendPackedTime(criteria.Date);
- data << uint32(criteria.TimeFromStart);
- data << uint32(criteria.TimeFromCreate);
+ data << criteria.TimeFromStart;
+ data << criteria.TimeFromCreate;
data.WriteBits(criteria.Flags, 4);
data.WriteBit(criteria.RafAcceptanceID.is_initialized());
data.FlushBits();
@@ -90,8 +90,8 @@ WorldPacket const* WorldPackets::Achievement::CriteriaUpdate::Write()
_worldPacket << PlayerGUID;
_worldPacket << uint32(Flags);
_worldPacket.AppendPackedTime(CurrentTime);
- _worldPacket << uint32(ElapsedTime);
- _worldPacket << uint32(CreationTime);
+ _worldPacket << ElapsedTime;
+ _worldPacket << CreationTime;
_worldPacket.WriteBit(RafAcceptanceID.is_initialized());
_worldPacket.FlushBits();
@@ -155,8 +155,8 @@ WorldPacket const* WorldPackets::Achievement::GuildCriteriaUpdate::Write()
for (GuildCriteriaProgress const& progress : Progress)
{
_worldPacket << int32(progress.CriteriaID);
- _worldPacket << uint32(progress.DateCreated);
- _worldPacket << uint32(progress.DateStarted);
+ _worldPacket << progress.DateCreated;
+ _worldPacket << progress.DateStarted;
_worldPacket.AppendPackedTime(progress.DateUpdated);
_worldPacket << uint64(progress.Quantity);
_worldPacket << progress.PlayerGUID;
diff --git a/src/server/game/Server/Packets/AchievementPackets.h b/src/server/game/Server/Packets/AchievementPackets.h
index e2c6f85dbc0..eb0c50132ed 100644
--- a/src/server/game/Server/Packets/AchievementPackets.h
+++ b/src/server/game/Server/Packets/AchievementPackets.h
@@ -21,6 +21,7 @@
#include "Packet.h"
#include "ObjectGuid.h"
#include "Optional.h"
+#include "PacketUtilities.h"
namespace WorldPackets
{
@@ -42,8 +43,8 @@ namespace WorldPackets
ObjectGuid Player;
uint32 Flags = 0;
time_t Date = time_t(0);
- uint32 TimeFromStart = 0;
- uint32 TimeFromCreate = 0;
+ Duration<Seconds> TimeFromStart;
+ Duration<Seconds> TimeFromCreate;
Optional<uint64> RafAcceptanceID;
};
@@ -96,8 +97,8 @@ namespace WorldPackets
ObjectGuid PlayerGUID;
uint32 Flags = 0;
time_t CurrentTime = time_t(0);
- uint32 ElapsedTime = 0;
- uint32 CreationTime = 0;
+ Duration<Seconds> ElapsedTime;
+ Timestamp<> CreationTime;
Optional<uint64> RafAcceptanceID;
};
@@ -164,8 +165,8 @@ namespace WorldPackets
struct GuildCriteriaProgress
{
int32 CriteriaID = 0;
- uint32 DateCreated = 0;
- uint32 DateStarted = 0;
+ Timestamp<> DateCreated;
+ Timestamp<> DateStarted;
time_t DateUpdated = 0;
uint64 Quantity = 0;
ObjectGuid PlayerGUID;
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index 68154c8572a..9b9e45bdec2 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -554,7 +554,7 @@ WorldPacket const* AuctionGetCommodityQuoteResult::Write()
_worldPacket << uint32(*Quantity);
if (QuoteDuration)
- _worldPacket << int32(*QuoteDuration);
+ _worldPacket << *QuoteDuration;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h
index 59dd8dbcff3..e76624dbae2 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.h
+++ b/src/server/game/Server/Packets/AuctionHousePackets.h
@@ -396,7 +396,7 @@ namespace WorldPackets
Optional<uint64> TotalPrice;
Optional<uint32> Quantity;
- Optional<int32> QuoteDuration;
+ Optional<Duration<Milliseconds>> QuoteDuration;
int32 Unknown830 = 0;
uint32 DesiredDelay = 0;
};
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp
index f7b58ae0659..b66345d9338 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.cpp
+++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp
@@ -127,7 +127,7 @@ WorldPacket const* WorldPackets::Auth::AuthResponse::Write()
_worldPacket << uint32(SuccessInfo->AvailableClasses->size());
_worldPacket << uint32(SuccessInfo->Templates.size());
_worldPacket << uint32(SuccessInfo->CurrencyID);
- _worldPacket << int32(SuccessInfo->Time);
+ _worldPacket << SuccessInfo->Time;
for (RaceClassAvailability const& raceClassAvailability : *SuccessInfo->AvailableClasses)
{
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.h b/src/server/game/Server/Packets/AuthenticationPackets.h
index dc4eab9e310..aa63c608770 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.h
+++ b/src/server/game/Server/Packets/AuthenticationPackets.h
@@ -21,6 +21,7 @@
#include "Packet.h"
#include "Define.h"
#include "Optional.h"
+#include "PacketUtilities.h"
#include <array>
#include <unordered_map>
@@ -146,7 +147,7 @@ namespace WorldPackets
uint32 VirtualRealmAddress = 0; ///< a special identifier made from the Index, BattleGroup and Region.
uint32 TimeSecondsUntilPCKick = 0; ///< @todo research
uint32 CurrencyID = 0; ///< this is probably used for the ingame shop. @todo implement
- int32 Time = 0;
+ Timestamp<> Time;
GameTime GameTimeInfo;
diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp
index ecf37c02761..bd1ad34379d 100644
--- a/src/server/game/Server/Packets/BattlegroundPackets.cpp
+++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp
@@ -343,8 +343,8 @@ WorldPacket const* WorldPackets::Battleground::PVPMatchInitialize::Write()
{
_worldPacket << uint32(MapID);
_worldPacket << uint8(State);
- _worldPacket << int32(StartTime);
- _worldPacket << int32(Duration);
+ _worldPacket << StartTime;
+ _worldPacket << Duration;
_worldPacket << uint8(ArenaFaction);
_worldPacket << uint32(BattlemasterListID);
_worldPacket.WriteBit(Registered);
@@ -357,7 +357,7 @@ WorldPacket const* WorldPackets::Battleground::PVPMatchInitialize::Write()
WorldPacket const* WorldPackets::Battleground::PVPMatchComplete::Write()
{
_worldPacket << uint8(Winner);
- _worldPacket << int32(Duration);
+ _worldPacket << Duration;
_worldPacket.WriteBit(LogData.is_initialized());
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/BattlegroundPackets.h b/src/server/game/Server/Packets/BattlegroundPackets.h
index f5389ae22f1..e469cad97c9 100644
--- a/src/server/game/Server/Packets/BattlegroundPackets.h
+++ b/src/server/game/Server/Packets/BattlegroundPackets.h
@@ -468,8 +468,8 @@ namespace WorldPackets
uint32 MapID = 0;
MatchState State = Inactive;
- time_t StartTime = time_t(0);
- int32 Duration = 0;
+ Timestamp<> StartTime;
+ WorldPackets::Duration<Seconds> Duration;
uint8 ArenaFaction = 0;
uint32 BattlemasterListID = 0;
bool Registered = false;
@@ -484,7 +484,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
uint8 Winner = 0;
- int32 Duration = 0;
+ WorldPackets::Duration<Seconds> Duration;
Optional<PVPMatchStatistics> LogData;
};
}
diff --git a/src/server/game/Server/Packets/BlackMarketPackets.cpp b/src/server/game/Server/Packets/BlackMarketPackets.cpp
index bd448d008d2..aac7626632a 100644
--- a/src/server/game/Server/Packets/BlackMarketPackets.cpp
+++ b/src/server/game/Server/Packets/BlackMarketPackets.cpp
@@ -72,7 +72,7 @@ ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::BlackMarket::BlackMarketI
WorldPacket const* WorldPackets::BlackMarket::BlackMarketRequestItemsResult::Write()
{
- _worldPacket << int32(LastUpdateID);
+ _worldPacket << LastUpdateID;
_worldPacket << uint32(Items.size());
for (BlackMarketItem const& item : Items)
diff --git a/src/server/game/Server/Packets/BlackMarketPackets.h b/src/server/game/Server/Packets/BlackMarketPackets.h
index 4c55bb93b29..5c51cb5f095 100644
--- a/src/server/game/Server/Packets/BlackMarketPackets.h
+++ b/src/server/game/Server/Packets/BlackMarketPackets.h
@@ -69,7 +69,7 @@ namespace WorldPackets
void Read() override;
ObjectGuid Guid;
- uint32 LastUpdateID = 0;
+ Timestamp<> LastUpdateID;
};
class BlackMarketRequestItemsResult final : public ServerPacket
@@ -79,7 +79,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 LastUpdateID = 0;
+ Timestamp<> LastUpdateID;
std::vector<BlackMarketItem> Items;
};
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 59f18425ff0..23a2244d889 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -190,7 +190,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfo con
for (EnumCharactersResult::CharacterInfo::VisualItemInfo const& visualItem : charInfo.VisualItems)
data << visualItem;
- data << uint32(charInfo.LastPlayedTime);
+ data << charInfo.LastPlayedTime;
data << uint16(charInfo.SpecID);
data << uint32(charInfo.Unknown703);
data << uint32(charInfo.LastLoginVersion);
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 0847720436c..00751706183 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -137,7 +137,7 @@ namespace WorldPackets
uint32 Flags4 = 0;
bool FirstLogin = false;
uint8 unkWod61x = 0;
- uint32 LastPlayedTime = 0;
+ Timestamp<> LastPlayedTime;
uint16 SpecID = 0;
uint32 Unknown703 = 0;
uint32 LastLoginVersion = 0;
diff --git a/src/server/game/Server/Packets/ClientConfigPackets.cpp b/src/server/game/Server/Packets/ClientConfigPackets.cpp
index 8ddc8c998ab..f8c8d051464 100644
--- a/src/server/game/Server/Packets/ClientConfigPackets.cpp
+++ b/src/server/game/Server/Packets/ClientConfigPackets.cpp
@@ -20,8 +20,9 @@
WorldPacket const* WorldPackets::ClientConfig::AccountDataTimes::Write()
{
_worldPacket << PlayerGuid;
- _worldPacket << uint32(ServerTime);
- _worldPacket.append(AccountTimes.data(), AccountTimes.size());
+ _worldPacket << ServerTime;
+ for (Timestamp<> const& accountDataTime : AccountTimes)
+ _worldPacket << accountDataTime;
return &_worldPacket;
}
@@ -42,7 +43,7 @@ void WorldPackets::ClientConfig::RequestAccountData::Read()
WorldPacket const* WorldPackets::ClientConfig::UpdateAccountData::Write()
{
_worldPacket << Player;
- _worldPacket << uint32(Time);
+ _worldPacket << Time;
_worldPacket << uint32(Size);
_worldPacket.WriteBits(DataType, 3);
_worldPacket << uint32(CompressedData.size());
diff --git a/src/server/game/Server/Packets/ClientConfigPackets.h b/src/server/game/Server/Packets/ClientConfigPackets.h
index 230df93da77..c5b6762330d 100644
--- a/src/server/game/Server/Packets/ClientConfigPackets.h
+++ b/src/server/game/Server/Packets/ClientConfigPackets.h
@@ -19,6 +19,7 @@
#define ClientConfigPackets_h__
#include "Packet.h"
+#include "PacketUtilities.h"
#include "WorldSession.h"
namespace WorldPackets
@@ -33,8 +34,8 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid PlayerGuid;
- uint32 ServerTime = 0;
- std::array<uint32, NUM_ACCOUNT_DATA_TYPES> AccountTimes = { };
+ Timestamp<> ServerTime;
+ std::array<Timestamp<>, NUM_ACCOUNT_DATA_TYPES> AccountTimes = { };
};
class ClientCacheVersion final : public ServerPacket
@@ -66,7 +67,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid Player;
- uint32 Time = 0; ///< UnixTime
+ Timestamp<> Time;
uint32 Size = 0; ///< decompressed size
uint8 DataType = 0; ///< @see enum AccountDataType
ByteBuffer CompressedData;
@@ -80,7 +81,7 @@ namespace WorldPackets
void Read() override;
ObjectGuid PlayerGuid;
- uint32 Time = 0; ///< UnixTime
+ Timestamp<> Time;
uint32 Size = 0; ///< decompressed size
uint8 DataType = 0; ///< @see enum AccountDataType
ByteBuffer CompressedData;
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
index a6cbf89ba15..6129538fc3f 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ b/src/server/game/Server/Packets/GarrisonPackets.cpp
@@ -51,9 +51,9 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingInfo const& buildingInf
{
data << uint32(buildingInfo.GarrPlotInstanceID);
data << uint32(buildingInfo.GarrBuildingID);
- data << uint32(buildingInfo.TimeBuilt);
+ data << buildingInfo.TimeBuilt;
data << uint32(buildingInfo.CurrentGarSpecID);
- data << uint32(buildingInfo.TimeSpecCooldown);
+ data << buildingInfo.TimeSpecCooldown;
data.WriteBit(buildingInfo.Active);
data.FlushBits();
@@ -77,7 +77,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower)
data << uint32(follower.FollowerStatus);
data << int32(follower.Health);
data << int8(follower.BoardIndex);
- data << int32(follower.HealingTimestamp);
+ data << follower.HealingTimestamp;
for (GarrAbilityEntry const* ability : follower.AbilityID)
data << uint32(ability->ID);
@@ -92,11 +92,11 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonMission const& mission)
{
data << uint64(mission.DbID);
data << uint32(mission.MissionRecID);
- data << uint32(mission.OfferTime);
- data << uint32(mission.OfferDuration);
- data << uint32(mission.StartTime);
- data << uint32(mission.TravelDuration);
- data << uint32(mission.MissionDuration);
+ data << mission.OfferTime;
+ data << mission.OfferDuration;
+ data << mission.StartTime;
+ data << mission.TravelDuration;
+ data << mission.MissionDuration;
data << uint32(mission.MissionState);
data << uint32(mission.SuccessChance);
data << uint32(mission.Flags);
@@ -126,7 +126,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionReward const& missionRew
ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionBonusAbility const& areaBonus)
{
data << uint32(areaBonus.GarrMssnBonusAbilityID);
- data << uint32(areaBonus.StartTime);
+ data << areaBonus.StartTime;
return data;
}
@@ -143,7 +143,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonTalent const& talent)
{
data << int32(talent.GarrTalentID);
data << int32(talent.Rank);
- data << int32(talent.ResearchStartTime);
+ data << talent.ResearchStartTime;
data << int32(talent.Flags);
data.WriteBit(talent.Socket.is_initialized());
data.FlushBits();
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
index 69fc2f14229..dbddb791ea2 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ b/src/server/game/Server/Packets/GarrisonPackets.h
@@ -75,9 +75,9 @@ namespace WorldPackets
{
uint32 GarrPlotInstanceID = 0;
uint32 GarrBuildingID = 0;
- time_t TimeBuilt = time_t(0);
+ Timestamp<> TimeBuilt;
uint32 CurrentGarSpecID = 0;
- time_t TimeSpecCooldown = time_t(2288912640); // 06/07/1906 18:35:44 - another in the series of magic blizz dates
+ Timestamp<> TimeSpecCooldown = time_t(2288912640); // 06/07/1906 18:35:44 - another in the series of magic blizz dates
bool Active = false;
};
@@ -97,7 +97,7 @@ namespace WorldPackets
uint32 ZoneSupportSpellID = 0;
uint32 FollowerStatus = 0;
int32 Health = 0;
- int32 HealingTimestamp = 0;
+ Timestamp<> HealingTimestamp;
int8 BoardIndex = 0;
std::string CustomName;
};
@@ -106,11 +106,11 @@ namespace WorldPackets
{
uint64 DbID = 0;
uint32 MissionRecID = 0;
- time_t OfferTime = time_t(0);
- uint32 OfferDuration = 0;
- time_t StartTime = time_t(2288912640);
- uint32 TravelDuration = 0;
- uint32 MissionDuration = 0;
+ Timestamp<> OfferTime;
+ Duration<Seconds> OfferDuration;
+ Timestamp<> StartTime = time_t(2288912640);
+ Duration<Seconds> TravelDuration;
+ Duration<Seconds> MissionDuration;
uint32 MissionState = 0;
uint32 SuccessChance = 0;
uint32 Flags = 0;
@@ -132,7 +132,7 @@ namespace WorldPackets
struct GarrisonMissionBonusAbility
{
uint32 GarrMssnBonusAbilityID = 0;
- time_t StartTime = time_t(0);
+ Timestamp<> StartTime;
};
struct GarrisonTalentSocketData
@@ -145,7 +145,7 @@ namespace WorldPackets
{
int32 GarrTalentID = 0;
int32 Rank = 0;
- time_t ResearchStartTime = time_t(0);
+ Timestamp<> ResearchStartTime;
int32 Flags = 0;
Optional<GarrisonTalentSocketData> Socket;
};
diff --git a/src/server/game/Server/Packets/GuildFinderPackets.cpp b/src/server/game/Server/Packets/GuildFinderPackets.cpp
index 3541649ae32..d130ac76968 100644
--- a/src/server/game/Server/Packets/GuildFinderPackets.cpp
+++ b/src/server/game/Server/Packets/GuildFinderPackets.cpp
@@ -108,7 +108,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::GuildFinder::GuildPostDat
data << int32(post.Availability);
data << int32(post.ClassRoles);
data << int32(post.LevelRange);
- data << int32(post.SecondsRemaining);
+ data << post.SecondsRemaining;
data.WriteString(post.Comment);
return data;
}
@@ -151,7 +151,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::GuildFinder::LFGuildRecru
WorldPacket const* WorldPackets::GuildFinder::LFGuildRecruits::Write()
{
_worldPacket << uint32(Recruits.size());
- _worldPacket << uint32(UpdateTime);
+ _worldPacket << UpdateTime;
for (LFGuildRecruitData const& recruit : Recruits)
_worldPacket << recruit;
diff --git a/src/server/game/Server/Packets/GuildFinderPackets.h b/src/server/game/Server/Packets/GuildFinderPackets.h
index 551ee5fe56e..8742d5b221c 100644
--- a/src/server/game/Server/Packets/GuildFinderPackets.h
+++ b/src/server/game/Server/Packets/GuildFinderPackets.h
@@ -21,6 +21,7 @@
#include "Packet.h"
#include "ObjectGuid.h"
#include "Optional.h"
+#include "PacketUtilities.h"
namespace WorldPackets
{
@@ -157,7 +158,7 @@ namespace WorldPackets
int32 Availability = 0;
int32 ClassRoles = 0;
int32 LevelRange = 0;
- int32 SecondsRemaining = 0;
+ Duration<Seconds> SecondsRemaining;
std::string Comment;
};
@@ -178,7 +179,7 @@ namespace WorldPackets
void Read() override;
- uint32 LastUpdate = 0;
+ Timestamp<> LastUpdate;
};
struct LFGuildRecruitData
@@ -205,7 +206,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
std::vector<LFGuildRecruitData> Recruits;
- time_t UpdateTime = time_t(0);
+ Timestamp<> UpdateTime;
};
class LFGuildRemoveRecruit final : public ClientPacket
diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp
index d0d91e6ab32..1627aaf232d 100644
--- a/src/server/game/Server/Packets/GuildPackets.cpp
+++ b/src/server/game/Server/Packets/GuildPackets.cpp
@@ -539,7 +539,7 @@ void WorldPackets::Guild::RequestGuildRewardsList::Read()
WorldPacket const* WorldPackets::Guild::GuildRewardList::Write()
{
- _worldPacket << int32(Version);
+ _worldPacket << Version;
_worldPacket << uint32(RewardItems.size());
for (GuildRewardItem const& item : RewardItems)
diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h
index a64595465ac..c99b498c4dd 100644
--- a/src/server/game/Server/Packets/GuildPackets.h
+++ b/src/server/game/Server/Packets/GuildPackets.h
@@ -22,6 +22,7 @@
#include "ItemPacketsCommon.h"
#include "Guild.h"
#include "ObjectGuid.h"
+#include "PacketUtilities.h"
namespace WorldPackets
{
@@ -678,7 +679,7 @@ namespace WorldPackets
void Read() override;
- uint32 CurrentVersion = 0;
+ Timestamp<> CurrentVersion;
};
struct GuildRewardItem
@@ -700,7 +701,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
std::vector<GuildRewardItem> RewardItems;
- int32 Version = 0;
+ Timestamp<> Version;
};
class GuildBankActivate final : public ClientPacket
diff --git a/src/server/game/Server/Packets/LFGPacketsCommon.cpp b/src/server/game/Server/Packets/LFGPacketsCommon.cpp
index 6d747da57a6..b10b76bb10a 100644
--- a/src/server/game/Server/Packets/LFGPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/LFGPacketsCommon.cpp
@@ -32,7 +32,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::LFG::RideTicket const& ti
data << ticket.RequesterGuid;
data << uint32(ticket.Id);
data << uint32(ticket.Type);
- data << int32(ticket.Time);
+ data << ticket.Time;
return data;
}
diff --git a/src/server/game/Server/Packets/LFGPacketsCommon.h b/src/server/game/Server/Packets/LFGPacketsCommon.h
index 7dbfe2c7efe..b2bc72651f4 100644
--- a/src/server/game/Server/Packets/LFGPacketsCommon.h
+++ b/src/server/game/Server/Packets/LFGPacketsCommon.h
@@ -20,6 +20,7 @@
#include "Packet.h"
#include "ObjectGuid.h"
+#include "PacketUtilities.h"
namespace WorldPackets
{
@@ -37,7 +38,7 @@ namespace WorldPackets
ObjectGuid RequesterGuid;
uint32 Id = 0;
RideType Type = RideType::None;
- int32 Time = 0;
+ Timestamp<> Time;
};
}
}
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 127a040b032..85d2d2823cd 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -705,8 +705,8 @@ void WorldPackets::Misc::CloseInteraction::Read()
WorldPacket const* WorldPackets::Misc::StartTimer::Write()
{
- _worldPacket << int32(TimeLeft);
- _worldPacket << int32(TotalTime);
+ _worldPacket << TimeLeft;
+ _worldPacket << TotalTime;
_worldPacket << int32(Type);
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 566e85ab16d..1f04b8d09ba 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -222,7 +222,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint32 Time = 0; ///< UnixTime
+ Timestamp<> Time;
};
class TutorialFlags : public ServerPacket
@@ -916,8 +916,8 @@ namespace WorldPackets
WorldPacket const* Write() override;
int32 Type = 0;
- int32 TimeLeft = 0;
- int32 TotalTime = 0;
+ Duration<Seconds> TimeLeft;
+ Duration<Seconds> TotalTime;
};
}
}
diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h
index 769ffae245d..17d42c620a9 100644
--- a/src/server/game/Server/Packets/PartyPackets.h
+++ b/src/server/game/Server/Packets/PartyPackets.h
@@ -410,7 +410,7 @@ namespace WorldPackets
int8 PartyIndex = 0;
ObjectGuid PartyGUID;
ObjectGuid InitiatorGUID;
- uint32 Duration = 0u;
+ WorldPackets::Duration<Milliseconds> Duration;
};
class ReadyCheckResponseClient final : public ClientPacket
diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp
index 96e29b1477d..32544e7dab5 100644
--- a/src/server/game/Server/Packets/QueryPackets.cpp
+++ b/src/server/game/Server/Packets/QueryPackets.cpp
@@ -338,7 +338,7 @@ WorldPacket const* WorldPackets::Query::CorpseTransportQuery::Write()
WorldPacket const* WorldPackets::Query::QueryTimeResponse::Write()
{
- _worldPacket << int32(CurrentTime);
+ _worldPacket << CurrentTime;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h
index 5cca2e916c5..d4148eb6b38 100644
--- a/src/server/game/Server/Packets/QueryPackets.h
+++ b/src/server/game/Server/Packets/QueryPackets.h
@@ -306,7 +306,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- time_t CurrentTime = time_t(0);
+ Timestamp<> CurrentTime;
};
class QuestPOIQuery final : public ClientPacket
@@ -378,7 +378,7 @@ namespace WorldPackets
bool HasDeclined = false;
DeclinedName DeclinedNames;
- uint32 Timestamp = 0;
+ WorldPackets::Timestamp<> Timestamp;
std::string Name;
};
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index 9f0f7536023..2672ab3ddf3 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -624,7 +624,7 @@ WorldPacket const* WorldQuestUpdateResponse::Write()
for (WorldQuestUpdateInfo const& worldQuestUpdate : WorldQuestUpdates)
{
- _worldPacket << int32(worldQuestUpdate.LastUpdate);
+ _worldPacket << worldQuestUpdate.LastUpdate;
_worldPacket << uint32(worldQuestUpdate.QuestID);
_worldPacket << uint32(worldQuestUpdate.Timer);
_worldPacket << int32(worldQuestUpdate.VariableID);
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index a581a0af74f..a5ffb40e466 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -629,9 +629,9 @@ namespace WorldPackets
struct WorldQuestUpdateInfo
{
- WorldQuestUpdateInfo(int32 lastUpdate, uint32 questID, uint32 timer, int32 variableID, int32 value) :
+ WorldQuestUpdateInfo(time_t lastUpdate, uint32 questID, uint32 timer, int32 variableID, int32 value) :
LastUpdate(lastUpdate), QuestID(questID), Timer(timer), VariableID(variableID), Value(value) { }
- int32 LastUpdate;
+ Timestamp<> LastUpdate;
uint32 QuestID;
uint32 Timer;
// WorldState
diff --git a/src/server/game/Server/Packets/TicketPackets.cpp b/src/server/game/Server/Packets/TicketPackets.cpp
index 30c2f8a06a9..c453750f3fd 100644
--- a/src/server/game/Server/Packets/TicketPackets.cpp
+++ b/src/server/game/Server/Packets/TicketPackets.cpp
@@ -39,13 +39,13 @@ WorldPacket const* WorldPackets::Ticket::GMTicketCaseStatus::Write()
{
_worldPacket << int32(Cases.size());
- for (auto const& c : Cases)
+ for (GMTicketCase const& c : Cases)
{
_worldPacket << int32(c.CaseID);
- _worldPacket << int32(c.CaseOpened);
+ _worldPacket << c.CaseOpened;
_worldPacket << int32(c.CaseStatus);
- _worldPacket << int16(c.CfgRealmID);
- _worldPacket << int64(c.CharacterID);
+ _worldPacket << uint16(c.CfgRealmID);
+ _worldPacket << uint64(c.CharacterID);
_worldPacket << int32(c.WaitTimeOverrideMinutes);
_worldPacket.WriteBits(c.Url.size(), 11);
@@ -76,7 +76,7 @@ void WorldPackets::Ticket::SubmitUserFeedback::Read()
}
}
-WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketChatLine::SupportTicketChatLine(uint32 timestamp, std::string const& text) :
+WorldPackets::Ticket::SupportTicketSubmitComplaint::SupportTicketChatLine::SupportTicketChatLine(time_t timestamp, std::string const& text) :
Timestamp(timestamp), Text(text)
{ }
diff --git a/src/server/game/Server/Packets/TicketPackets.h b/src/server/game/Server/Packets/TicketPackets.h
index 4e7026c6c6e..5f281df684a 100644
--- a/src/server/game/Server/Packets/TicketPackets.h
+++ b/src/server/game/Server/Packets/TicketPackets.h
@@ -66,10 +66,10 @@ namespace WorldPackets
struct GMTicketCase
{
int32 CaseID = 0;
- int32 CaseOpened = 0;
+ Timestamp<> CaseOpened;
int32 CaseStatus = 0;
- int16 CfgRealmID = 0;
- int64 CharacterID = 0;
+ uint16 CfgRealmID = 0;
+ uint64 CharacterID = 0;
int32 WaitTimeOverrideMinutes = 0;
std::string Url;
std::string WaitTimeOverrideMessage;
@@ -110,9 +110,9 @@ namespace WorldPackets
struct SupportTicketChatLine
{
SupportTicketChatLine(ByteBuffer& data);
- SupportTicketChatLine(uint32 timestamp, std::string const& text);
+ SupportTicketChatLine(time_t timestamp, std::string const& text);
- uint32 Timestamp = 0;
+ WorldPackets::Timestamp<> Timestamp;
std::string Text;
};
@@ -133,7 +133,7 @@ namespace WorldPackets
uint8 field_6;
};
- int32 Timestamp;
+ WorldPackets::Timestamp<> Timestamp;
ObjectGuid AuthorGUID;
Optional<uint64> ClubID;
Optional<ObjectGuid> ChannelGUID;
diff --git a/src/server/game/Server/Packets/TokenPackets.cpp b/src/server/game/Server/Packets/TokenPackets.cpp
index 7aec37cc1b4..dc1b6376b48 100644
--- a/src/server/game/Server/Packets/TokenPackets.cpp
+++ b/src/server/game/Server/Packets/TokenPackets.cpp
@@ -27,13 +27,13 @@ WorldPacket const* WorldPackets::Token::CommerceTokenGetLogResponse::Write()
_worldPacket << UnkInt;
_worldPacket << Result;
_worldPacket << uint32(AuctionableTokenAuctionableList.size());
- for (AuctionableTokenAuctionable const& auctionableTokenAuctionable : AuctionableTokenAuctionableList)
+ for (AuctionableTokenInfo const& auctionableTokenAuctionable : AuctionableTokenAuctionableList)
{
_worldPacket << auctionableTokenAuctionable.UnkInt1;
_worldPacket << auctionableTokenAuctionable.UnkInt2;
_worldPacket << auctionableTokenAuctionable.Owner;
_worldPacket << auctionableTokenAuctionable.BuyoutPrice;
- _worldPacket << auctionableTokenAuctionable.EndTime;
+ _worldPacket << auctionableTokenAuctionable.DurationLeft;
}
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/TokenPackets.h b/src/server/game/Server/Packets/TokenPackets.h
index 262fbf435c5..2a50ac81ef1 100644
--- a/src/server/game/Server/Packets/TokenPackets.h
+++ b/src/server/game/Server/Packets/TokenPackets.h
@@ -19,6 +19,7 @@
#define TokenPackets_h__
#include "Packet.h"
+#include "PacketUtilities.h"
namespace WorldPackets
{
@@ -41,18 +42,18 @@ namespace WorldPackets
WorldPacket const* Write() override;
- struct AuctionableTokenAuctionable
+ struct AuctionableTokenInfo
{
uint64 UnkInt1 = 0;
- uint32 UnkInt2 = 0;
- uint32 Owner = 0;
+ Timestamp<> UnkInt2;
+ int32 Owner = 0;
uint64 BuyoutPrice = 0;
- uint32 EndTime = 0;
+ uint32 DurationLeft = 0;
};
uint32 UnkInt = 0; // send CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST
uint32 Result = 0;
- std::vector<AuctionableTokenAuctionable> AuctionableTokenAuctionableList;
+ std::vector<AuctionableTokenInfo> AuctionableTokenAuctionableList;
};
class CommerceTokenGetMarketPrice final : public ClientPacket