aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Achievements/CriteriaHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp119
1 files changed, 19 insertions, 100 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index f04b1b5651f..66627e24b0a 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -17,7 +17,6 @@
#include "CriteriaHandler.h"
#include "ArenaTeamMgr.h"
-#include "AzeriteItem.h"
#include "Battleground.h"
#include "BattlePetMgr.h"
#include "CollectionMgr.h"
@@ -2746,12 +2745,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
break;
}
case ModifierTreeType::PlayerAzeriteLevelEqualOrGreaterThan: // 235
- {
- Item const* heartOfAzeroth = referencePlayer->GetItemByEntry(ITEM_ID_HEART_OF_AZEROTH, ItemSearchLocation::Everywhere);
- if (!heartOfAzeroth || heartOfAzeroth->ToAzeriteItem()->GetLevel() < reqValue)
- return false;
- break;
- }
+ return false;
case ModifierTreeType::PlayerIsOnQuestInQuestline: // 236
{
bool isOnQuest = false;
@@ -2923,33 +2917,10 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
if (!ref || !ref->IsUnit() || ref->ToUnit()->GetAuraCount(secondaryAsset) < reqValue)
return false;
break;
- case ModifierTreeType::PlayerHasAzeriteEssenceRankLessThan: // 259
- {
- if (Item const* heartOfAzeroth = referencePlayer->GetItemByEntry(ITEM_ID_HEART_OF_AZEROTH, ItemSearchLocation::Everywhere))
- if (AzeriteItem const* azeriteItem = heartOfAzeroth->ToAzeriteItem())
- for (UF::UnlockedAzeriteEssence const& essence : azeriteItem->m_azeriteItemData->UnlockedEssences)
- if (essence.AzeriteEssenceID == reqValue && essence.Rank < secondaryAsset)
- return true;
- return false;
- }
- case ModifierTreeType::PlayerHasAzeriteEssenceRankEqual: // 260
- {
- if (Item const* heartOfAzeroth = referencePlayer->GetItemByEntry(ITEM_ID_HEART_OF_AZEROTH, ItemSearchLocation::Everywhere))
- if (AzeriteItem const* azeriteItem = heartOfAzeroth->ToAzeriteItem())
- for (UF::UnlockedAzeriteEssence const& essence : azeriteItem->m_azeriteItemData->UnlockedEssences)
- if (essence.AzeriteEssenceID == reqValue && essence.Rank == secondaryAsset)
- return true;
- return false;
- }
- case ModifierTreeType::PlayerHasAzeriteEssenceRankGreaterThan: // 261
- {
- if (Item const* heartOfAzeroth = referencePlayer->GetItemByEntry(ITEM_ID_HEART_OF_AZEROTH, ItemSearchLocation::Everywhere))
- if (AzeriteItem const* azeriteItem = heartOfAzeroth->ToAzeriteItem())
- for (UF::UnlockedAzeriteEssence const& essence : azeriteItem->m_azeriteItemData->UnlockedEssences)
- if (essence.AzeriteEssenceID == reqValue && essence.Rank > secondaryAsset)
- return true;
+ case ModifierTreeType::PlayerHasAzeriteEssenceRankLessThan: // 259 NYI
+ case ModifierTreeType::PlayerHasAzeriteEssenceRankEqual: // 260 NYI
+ case ModifierTreeType::PlayerHasAzeriteEssenceRankGreaterThan: // 261 NYI
return false;
- }
case ModifierTreeType::PlayerHasAuraWithEffectIndex: // 262
if (!referencePlayer->GetAuraEffect(reqValue, secondaryAsset))
return false;
@@ -2974,21 +2945,8 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
return false;
break;
}
- case ModifierTreeType::PlayerHasAzeriteEssenceInSlotAtRankLessThan: // 266
- if (Item const* heartOfAzeroth = referencePlayer->GetItemByEntry(ITEM_ID_HEART_OF_AZEROTH, ItemSearchLocation::Everywhere))
- if (AzeriteItem const* azeriteItem = heartOfAzeroth->ToAzeriteItem())
- if (UF::SelectedAzeriteEssences const* selectedEssences = azeriteItem->GetSelectedAzeriteEssences())
- for (UF::UnlockedAzeriteEssence const& essence : azeriteItem->m_azeriteItemData->UnlockedEssences)
- if (essence.AzeriteEssenceID == selectedEssences->AzeriteEssenceID[reqValue] && essence.Rank < secondaryAsset)
- return true;
- return false;
- case ModifierTreeType::PlayerHasAzeriteEssenceInSlotAtRankGreaterThan: // 267
- if (Item const* heartOfAzeroth = referencePlayer->GetItemByEntry(ITEM_ID_HEART_OF_AZEROTH, ItemSearchLocation::Everywhere))
- if (AzeriteItem const* azeriteItem = heartOfAzeroth->ToAzeriteItem())
- if (UF::SelectedAzeriteEssences const* selectedEssences = azeriteItem->GetSelectedAzeriteEssences())
- for (UF::UnlockedAzeriteEssence const& essence : azeriteItem->m_azeriteItemData->UnlockedEssences)
- if (essence.AzeriteEssenceID == selectedEssences->AzeriteEssenceID[reqValue] && essence.Rank > secondaryAsset)
- return true;
+ case ModifierTreeType::PlayerHasAzeriteEssenceInSlotAtRankLessThan: // 266 NYI
+ case ModifierTreeType::PlayerHasAzeriteEssenceInSlotAtRankGreaterThan: // 267 NYI
return false;
case ModifierTreeType::PlayerLevelWithinContentTuning: // 268
{
@@ -3041,11 +2999,8 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
}
case ModifierTreeType::PlayerLevelWithinOrAboveLevelRange: // 274 NYI
case ModifierTreeType::TargetLevelWithinOrAboveLevelRange: // 275 NYI
+ case ModifierTreeType::MaxJailersTowerLevelEqualOrGreaterThan: // 276 NYI
return false;
- case ModifierTreeType::MaxJailersTowerLevelEqualOrGreaterThan: // 276
- if (referencePlayer->m_activePlayerData->JailersTowerLevelMax < int32(reqValue))
- return false;
- break;
case ModifierTreeType::GroupedWithRaFRecruit: // 277
{
Group const* group = referencePlayer->GetGroup();
@@ -3087,11 +3042,8 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
case ModifierTreeType::HonorGainSource: // 285 NYI
case ModifierTreeType::JailersTowerActiveFloorIndexEqualOrGreaterThan: // 286 NYI
case ModifierTreeType::JailersTowerActiveFloorDifficultyEqualOrGreaterThan: // 287 NYI
+ case ModifierTreeType::PlayerCovenant: // 288 NYI
return false;
- case ModifierTreeType::PlayerCovenant: // 288
- if (referencePlayer->m_playerData->CovenantID != int32(reqValue))
- return false;
- break;
case ModifierTreeType::HasTimeEventPassed: // 289
{
time_t eventTimestamp = GameTime::GetGameTime();
@@ -3129,11 +3081,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
break;
}
case ModifierTreeType::GarrisonHasPermanentTalent: // 290 NYI
- return false;
- case ModifierTreeType::HasActiveSoulbind: // 291
- if (referencePlayer->m_playerData->SoulbindID != int32(reqValue))
- return false;
- break;
+ case ModifierTreeType::HasActiveSoulbind: // 291 NYI
case ModifierTreeType::HasMemorizedSpell: // 292 NYI
return false;
case ModifierTreeType::PlayerHasAPACSubscriptionReward_2020: // 293
@@ -3160,31 +3108,12 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
return true;
return false;
}
- case ModifierTreeType::PlayerIsInChromieTime: // 300
- if (referencePlayer->m_activePlayerData->UiChromieTimeExpansionID != int32(reqValue))
- return false;
- break;
- case ModifierTreeType::PlayerIsInAnyChromieTime: // 301
- if (referencePlayer->m_activePlayerData->UiChromieTimeExpansionID == 0)
- return false;
- break;
- case ModifierTreeType::ItemIsAzeriteArmor: // 302
- if (!sDB2Manager.GetAzeriteEmpoweredItem(miscValue1))
- return false;
- break;
- case ModifierTreeType::PlayerHasRuneforgePower: // 303
- {
- uint32 block = reqValue / 32;
- if (block >= referencePlayer->m_activePlayerData->RuneforgePowers.size())
- return false;
-
- uint32 bit = reqValue % 32;
- return referencePlayer->m_activePlayerData->RuneforgePowers[block] & (1 << bit);
- }
- case ModifierTreeType::PlayerInChromieTimeForScaling: // 304
- if (!(referencePlayer->m_playerData->CtrOptions->ContentTuningConditionMask & 1))
- return false;
- break;
+ case ModifierTreeType::PlayerIsInChromieTime: // 300 NYI
+ case ModifierTreeType::PlayerIsInAnyChromieTime: // 301 NYI
+ case ModifierTreeType::ItemIsAzeriteArmor: // 302 NYI
+ case ModifierTreeType::PlayerHasRuneforgePower: // 303 NYI
+ case ModifierTreeType::PlayerInChromieTimeForScaling: // 304 NYI
+ return false;
case ModifierTreeType::IsRaFRecruit: // 305
if (!referencePlayer->GetSession()->GetRecruiterId())
return false;
@@ -3236,16 +3165,8 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
return false;
break;
}
- case ModifierTreeType::PlayerHasWeeklyRewardsAvailable: // 313
- if (!*referencePlayer->m_activePlayerData->WeeklyRewardsPeriodSinceOrigin)
- return false;
- break;
- case ModifierTreeType::TargetCovenant: // 314
- if (!ref || !ref->IsPlayer())
- return false;
- if (ref->ToPlayer()->m_playerData->CovenantID != int32(reqValue))
- return false;
- break;
+ case ModifierTreeType::PlayerHasWeeklyRewardsAvailable: // 313 NYI
+ case ModifierTreeType::TargetCovenant: // 314 NYI
case ModifierTreeType::PlayerHasTBCCollectorsEdition: // 315
case ModifierTreeType::PlayerHasWrathCollectorsEdition: // 316
return false;
@@ -3404,10 +3325,8 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
if (GameTime::GetGameTime() - referencePlayer->m_playerData->LogoutTime < int64(reqValue) * DAY)
return false;
break;
- case ModifierTreeType::PlayerHasPerksProgramPendingReward: // 350
- if (!referencePlayer->m_activePlayerData->HasPerksProgramPendingReward)
- return false;
- break;
+ case ModifierTreeType::PlayerHasPerksProgramPendingReward: // 350 NYI
+ return false;
case ModifierTreeType::PlayerCanUseItem: // 351
{
ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(reqValue);