diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-06-27 15:29:30 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-06-27 15:29:30 +0200 |
commit | 60400d25f5fff2dabd4aa74bbdbc0d2370360a35 (patch) | |
tree | 54f2ae7ecfdbe1387d6d6e39a4168a9385b1f230 /src/server/game/Achievements/CriteriaHandler.cpp | |
parent | e0f3291eab271cb7dc5f39abfc7e2a4744be6ee0 (diff) |
Core/Players: Implemented PlayerDataElementAccount, PlayerDataElementCharacter, PlayerDataFlagAccount and PlayerDataFlagCharacter
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index c5406e0796f..c4896440d0f 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -3988,6 +3988,14 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 if (referencePlayer->GetPositionZ() >= reqValue) return false; break; + case ModifierTreeType::PlayerDataFlagAccountIsSet: // 378 + if (!referencePlayer->HasDataFlagAccount(reqValue)) + return false; + break; + case ModifierTreeType::PlayerDataFlagCharacterIsSet: // 379 + if (!referencePlayer->HasDataFlagCharacter(reqValue)) + return false; + break; case ModifierTreeType::PlayerIsOnMapWithExpansion: // 380 { MapEntry const* mapEntry = referencePlayer->GetMap()->GetEntry(); @@ -4022,6 +4030,12 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 return false; break; } + case ModifierTreeType::PlayerDataElementCharacterBetween: // 390 + return std::visit([&]<typename T>(T value) { return value >= T(secondaryAsset) && value <= T(tertiaryAsset); }, + referencePlayer->GetDataElementCharacter(reqValue)); + case ModifierTreeType::PlayerDataElementAccountBetween: // 391 + return std::visit([&]<typename T>(T value) { return value >= T(secondaryAsset) && value <= T(tertiaryAsset); }, + referencePlayer->GetDataElementAccount(reqValue)); case ModifierTreeType::PlayerHasCompletedQuestOrIsReadyToTurnIn: // 392 { QuestStatus status = referencePlayer->GetQuestStatus(reqValue); |