aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Achievements/CriteriaHandler.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/Achievements/CriteriaHandler.cpp
parent8c072b93af3a4efcbde21cc85fedcf7fa48fa7b4 (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.cpp15
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;
}