From 919ada8d94a321d743bf581673b28b810780fc7e Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 25 Jun 2022 23:17:10 +0200 Subject: Core/Criteria: Implemented worldstate requirements for criteria updates --- src/server/game/Achievements/CriteriaHandler.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 6e053761eeb..9fb6b3b19b7 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -48,6 +48,7 @@ #include "SpellMgr.h" #include "World.h" #include "WorldSession.h" +#include "WorldStateMgr.h" bool CriteriaData::IsValid(Criteria const* criteria) { @@ -1312,6 +1313,10 @@ bool CriteriaHandler::CanUpdateCriteria(Criteria const* criteria, CriteriaTreeLi return false; } + if (criteria->Entry->EligibilityWorldStateID != 0) + if (sWorldStateMgr->GetValue(criteria->Entry->EligibilityWorldStateID, referencePlayer->GetMap()) != criteria->Entry->EligibilityWorldStateValue) + return false; + return true; } -- cgit v1.2.3