From b888b1b09f71a8b8b4a9d45c804a1f164fb65ac3 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 21 Nov 2023 12:25:22 +0100 Subject: Core/Calendar: Implement different timezone support for ingame calendar Closes #8390 Closes #29427 --- src/server/game/Achievements/CriteriaHandler.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/server/game/Achievements/CriteriaHandler.cpp') diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 2ce1485fcbf..94af759f183 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -51,6 +51,7 @@ #include "World.h" #include "WorldSession.h" #include "WorldStateMgr.h" +#include "WowTime.h" bool CriteriaData::IsValid(Criteria const* criteria) { @@ -2242,14 +2243,12 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 break; case ModifierTreeType::TimeBetween: // 109 { - ByteBuffer unpacker; - unpacker << reqValue; - time_t from = unpacker.ReadPackedTime(); - unpacker.rpos(0); - unpacker.wpos(0); - unpacker << secondaryAsset; - time_t to = unpacker.ReadPackedTime(); - if (GameTime::GetGameTime() < from || GameTime::GetGameTime() > to) + WowTime from; + from.SetPackedTime(reqValue); + WowTime to; + to.SetPackedTime(secondaryAsset); + + if (!GameTime::GetWowTime()->IsInRange(from, to)) return false; break; } -- cgit v1.2.3