aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-11-21 12:25:22 +0100
committerShauren <shauren.trinity@gmail.com>2023-11-21 12:25:22 +0100
commitb888b1b09f71a8b8b4a9d45c804a1f164fb65ac3 (patch)
treeba507c4c1c5e8487bd223afbde44ecf9eeac162e /src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
parent8c072b93af3a4efcbde21cc85fedcf7fa48fa7b4 (diff)
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390 Closes #29427
Diffstat (limited to 'src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp')
-rw-r--r--src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp7
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;