diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-11-21 12:25:22 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-11-21 12:25:22 +0100 |
commit | b888b1b09f71a8b8b4a9d45c804a1f164fb65ac3 (patch) | |
tree | ba507c4c1c5e8487bd223afbde44ecf9eeac162e /src/server/game/Quests | |
parent | 8c072b93af3a4efcbde21cc85fedcf7fa48fa7b4 (diff) |
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427
Diffstat (limited to 'src/server/game/Quests')
-rw-r--r-- | src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp index a72c213a042..798e90e6b26 100644 --- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp +++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp @@ -25,6 +25,7 @@ #include "Map.h" #include "ObjectMgr.h" #include "Player.h" +#include "WorldSession.h" QuestObjectiveCriteriaMgr::QuestObjectiveCriteriaMgr(Player* owner) : _owner(owner) { @@ -187,7 +188,8 @@ void QuestObjectiveCriteriaMgr::SendAllData(Player const* /*receiver*/) const criteriaUpdate.PlayerGUID = _owner->GetGUID(); criteriaUpdate.Flags = 0; - criteriaUpdate.CurrentTime = criteriaProgres.second.Date; + criteriaUpdate.CurrentTime.SetUtcTimeFromUnixTime(criteriaProgres.second.Date); + criteriaUpdate.CurrentTime += _owner->GetSession()->GetTimezoneOffset(); criteriaUpdate.CreationTime = 0; SendPacket(criteriaUpdate.Write()); @@ -222,7 +224,8 @@ void QuestObjectiveCriteriaMgr::SendCriteriaUpdate(Criteria const* criteria, Cri if (criteria->Entry->StartTimer) criteriaUpdate.Flags = timedCompleted ? 1 : 0; // 1 is for keeping the counter at 0 in client - criteriaUpdate.CurrentTime = progress->Date; + criteriaUpdate.CurrentTime.SetUtcTimeFromUnixTime(progress->Date); + criteriaUpdate.CurrentTime += _owner->GetSession()->GetTimezoneOffset(); criteriaUpdate.ElapsedTime = timeElapsed; criteriaUpdate.CreationTime = 0; |