diff options
author | Ovahlord <dreadkiller@gmx.de> | 2022-06-25 23:17:10 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-06-25 23:17:10 +0200 |
commit | 919ada8d94a321d743bf581673b28b810780fc7e (patch) | |
tree | c02309a8633e005c78ab8a970b61f3a5ba7028c7 | |
parent | 737d94d7efe0b6c308ac1bf3692b6aa2e43f5adb (diff) |
Core/Criteria: Implemented worldstate requirements for criteria updates
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
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; } |