diff options
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 119 |
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); |