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/Achievements/CriteriaHandler.cpp | |
parent | 8c072b93af3a4efcbde21cc85fedcf7fa48fa7b4 (diff) |
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
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; } |