diff options
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
| -rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 120 |
1 files changed, 13 insertions, 107 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 2f4d7d1a356..31147a4dbd6 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" @@ -2163,17 +2162,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 return false; break; case ModifierTreeType::FriendshipRepReactionIsMet: // 94 - { - FriendshipRepReactionEntry const* friendshipRepReaction = sFriendshipRepReactionStore.LookupEntry(reqValue); - if (!friendshipRepReaction) - return false; - FriendshipReputationEntry const* friendshipReputation = sFriendshipReputationStore.LookupEntry(friendshipRepReaction->FriendshipRepID); - if (!friendshipReputation) - return false; - if (referencePlayer->GetReputation(friendshipReputation->FactionID) < int32(friendshipRepReaction->ReactionThreshold)) - return false; - break; - } + return false; case ModifierTreeType::ReputationWithFactionIsEqualOrGreaterThan: // 95 if (referencePlayer->GetReputationMgr().GetReputation(reqValue) < int32(secondaryAsset)) return false; @@ -3222,12 +3211,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; @@ -3359,25 +3343,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 break; } case ModifierTreeType::FriendshipRepReactionEqual: // 254 - { - FriendshipRepReactionEntry const* friendshipRepReaction = sFriendshipRepReactionStore.LookupEntry(reqValue); - if (!friendshipRepReaction) - return false; - FriendshipReputationEntry const* friendshipReputation = sFriendshipReputationStore.LookupEntry(friendshipRepReaction->FriendshipRepID); - if (!friendshipReputation) - return false; - DB2Manager::FriendshipRepReactionSet const* friendshipReactions = sDB2Manager.GetFriendshipRepReactions(reqValue); - if (!friendshipReactions) - return false; - uint32 rank = referencePlayer->GetReputationRank(friendshipReputation->FactionID); - if (rank >= friendshipReactions->size()) - return false; - auto itr = friendshipReactions->begin(); - std::advance(itr, rank); - if ((*itr)->ID != reqValue) - return false; - break; - } + return false; case ModifierTreeType::PlayerAuraStackCountEqual: // 255 if (referencePlayer->GetAuraCount(secondaryAsset) != reqValue) return false; @@ -3395,32 +3361,11 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 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; return false; - } case ModifierTreeType::PlayerHasAuraWithEffectIndex: // 262 if (!referencePlayer->GetAuraEffect(reqValue, secondaryAsset)) return false; @@ -3446,20 +3391,8 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 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; return false; case ModifierTreeType::PlayerLevelWithinContentTuning: // 268 { @@ -3514,9 +3447,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 case ModifierTreeType::TargetLevelWithinOrAboveLevelRange: // 275 NYI return false; case ModifierTreeType::MaxJailersTowerLevelEqualOrGreaterThan: // 276 - if (referencePlayer->m_activePlayerData->JailersTowerLevelMax < int32(reqValue)) - return false; - break; + return false; case ModifierTreeType::GroupedWithRaFRecruit: // 277 { Group const* group = referencePlayer->GetGroup(); @@ -3560,9 +3491,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 case ModifierTreeType::JailersTowerActiveFloorDifficultyEqualOrGreaterThan: // 287 NYI return false; case ModifierTreeType::PlayerCovenant: // 288 - if (referencePlayer->m_playerData->CovenantID != int32(reqValue)) - return false; - break; + return false; case ModifierTreeType::HasTimeEventPassed: // 289 { time_t eventTimestamp = GameTime::GetGameTime(); @@ -3602,9 +3531,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 case ModifierTreeType::GarrisonHasPermanentTalent: // 290 NYI return false; case ModifierTreeType::HasActiveSoulbind: // 291 - if (referencePlayer->m_playerData->SoulbindID != int32(reqValue)) - return false; - break; + return false; case ModifierTreeType::HasMemorizedSpell: // 292 NYI return false; case ModifierTreeType::PlayerHasAPACSubscriptionReward_2020: // 293 @@ -3632,30 +3559,17 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 return false; } case ModifierTreeType::PlayerIsInChromieTime: // 300 - if (referencePlayer->m_activePlayerData->UiChromieTimeExpansionID != int32(reqValue)) - return false; - break; + return false; case ModifierTreeType::PlayerIsInAnyChromieTime: // 301 - if (referencePlayer->m_activePlayerData->UiChromieTimeExpansionID == 0) - return false; - break; + return false; 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); - } + return false; case ModifierTreeType::PlayerInChromieTimeForScaling: // 304 - if (!(referencePlayer->m_playerData->CtrOptions->ContentTuningConditionMask & 1)) - return false; - break; + return false; case ModifierTreeType::IsRaFRecruit: // 305 if (!referencePlayer->GetSession()->GetRecruiterId()) return false; @@ -3708,15 +3622,9 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 break; } case ModifierTreeType::PlayerHasWeeklyRewardsAvailable: // 313 - if (!*referencePlayer->m_activePlayerData->WeeklyRewardsPeriodSinceOrigin) - return false; - break; + return false; case ModifierTreeType::TargetCovenant: // 314 - if (!ref || !ref->IsPlayer()) - return false; - if (ref->ToPlayer()->m_playerData->CovenantID != int32(reqValue)) - return false; - break; + return false; case ModifierTreeType::PlayerHasTBCCollectorsEdition: // 315 case ModifierTreeType::PlayerHasWrathCollectorsEdition: // 316 return false; @@ -3876,9 +3784,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 return false; break; case ModifierTreeType::PlayerHasPerksProgramPendingReward: // 350 - if (!referencePlayer->m_activePlayerData->HasPerksProgramPendingReward) - return false; - break; + return false; case ModifierTreeType::PlayerCanUseItem: // 351 { ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(reqValue); |
