![]() |
TrinityCore
|
#include <CriteriaHandler.h>
Static Public Member Functions | |
| static char const * | GetCriteriaTypeString (CriteriaType type) |
| static char const * | GetCriteriaTypeString (uint32 type) |
| static CriteriaMgr * | Instance () |
| static bool | IsGroupCriteriaType (CriteriaType type) |
| template<typename Func > | |
| static void | WalkCriteriaTree (CriteriaTree const *tree, Func const &func) |
| static std::span< CriteriaType const > | GetRetroactivelyUpdateableCriteriaTypes () |
Private Member Functions | |
| CriteriaMgr () | |
| ~CriteriaMgr () | |
Private Attributes | |
| std::unordered_map< uint32, CriteriaDataSet > | _criteriaDataMap |
| std::unordered_map< uint32, CriteriaTree > | _criteriaTrees |
| std::unordered_map< uint32, Criteria > | _criteria |
| std::unordered_map< uint32, ModifierTreeNode > | _criteriaModifiers |
| std::unordered_map< uint32, CriteriaTreeList > | _criteriaTreeByCriteria |
| CriteriaList | _criteriasByType [size_t(CriteriaType::Count)] |
| std::unordered_map< std::pair< int32, int32 >, CriteriaList > | _criteriasByAsset |
| CriteriaList | _guildCriteriasByType [size_t(CriteriaType::Count)] |
| std::unordered_map< std::pair< int32, int32 >, CriteriaList > | _scenarioCriteriasByTypeAndScenarioId |
| CriteriaList | _questObjectiveCriteriasByType [size_t(CriteriaType::Count)] |
| std::unordered_map< std::pair< int32, int32 >, CriteriaList > | _criteriasByStartEvent |
| std::unordered_map< std::pair< int32, int32 >, CriteriaList > | _criteriasByFailEvent |
Static Private Attributes | |
| static CriteriaList const | EmptyCriteriaList |
Definition at line 318 of file CriteriaHandler.h.
|
privatedefault |
|
privatedefault |
|
delete |
|
delete |
Definition at line 4942 of file CriteriaHandler.cpp.
References _criteria.
Referenced by LoadCriteriaData().
| CriteriaList const * CriteriaMgr::GetCriteriaByFailEvent | ( | CriteriaFailEvent | failEvent, |
| int32 | asset | ||
| ) | const |
Definition at line 4634 of file CriteriaHandler.cpp.
References _criteriasByFailEvent, and Trinity::Containers::MapGetValuePtr().
| CriteriaList const * CriteriaMgr::GetCriteriaByStartEvent | ( | CriteriaStartEvent | startEvent, |
| int32 | asset | ||
| ) | const |
Definition at line 4629 of file CriteriaHandler.cpp.
References _criteriasByStartEvent, and Trinity::Containers::MapGetValuePtr().
| CriteriaDataSet const * CriteriaMgr::GetCriteriaDataSet | ( | Criteria const * | criteria | ) | const |
Definition at line 4639 of file CriteriaHandler.cpp.
References _criteriaDataMap, Criteria::ID, and Trinity::Containers::MapGetValuePtr().
| CriteriaTree const * CriteriaMgr::GetCriteriaTree | ( | uint32 | criteriaTreeId | ) | const |
Definition at line 4933 of file CriteriaHandler.cpp.
References _criteriaTrees.
| CriteriaTreeList const * CriteriaMgr::GetCriteriaTreesByCriteria | ( | uint32 | criteriaId | ) | const |
Definition at line 4624 of file CriteriaHandler.cpp.
References _criteriaTreeByCriteria, and Trinity::Containers::MapGetValuePtr().
|
static |
Definition at line 4056 of file CriteriaHandler.cpp.
References AbandonAnyQuest, AbandonedLFGDungeon, AbandonedLFRDungeon, AcceptSummon, AccountHonorLevelReached, AccountKnownPet, AccountObtainPetThroughBattle, AchieveSkillStep, AcquireGarrison, AcquireItem, ActivateAnyGarrisonBuilding, ActivateGarrisonBuilding, ActivelyEarnPetLevel, ActivelyReachLevel, AnyArtifactPowerRankPurchased, AnyoneTriggerGameEventScenario, ArtifactPowerRankPurchased, AuctionsWon, AzeriteLevelReached, BankSlotsPurchased, BankTabPurchased, BattlePetAchievementPointsEarned, BattlePetReachLevel, BeSpellTarget, BuyItemsFromVendors, BuyTaxi, CastSpell, CatchFishInFishingHole, ChooseAnyRelicTalent, ChooseRelicTalent, CollectGarrisonShipment, CollectTransmogSetFromGroup, CompleteAnyBattleground, CompleteAnyChallengeMode, CompleteAnyDailyQuestPerDay, CompleteAnyGuildChallenge, CompleteAnyReplayQuest, CompleteAnyResearchProject, CompleteAnyScenario, CompleteAnyWorldQuest, CompleteChallengeMode, CompleteDailyQuest, CompletedLFGDungeon, CompletedLFGDungeonWithStrangers, CompletedLFRDungeon, CompleteGuildChallenge, CompleteInternalCriteria, CompleteQuest, CompleteQuestsCount, CompleteQuestsCountForGuild, CompleteQuestsCountOnAccount, CompleteQuestsInSort, CompleteQuestsInZone, CompleteResearchAnyGarrisonTalent, CompleteResearchGarrisonTalent, CompleteResearchProject, CompleteScenario, CompleteTrackingQuest, CreatedItemsByCastingSpell, CreatedItemsByCastingSpellWithLimit, CurrencyGained, DamageDealt, DefeatDungeonEncounter, DefeatDungeonEncounterWhileElegibleForLoot, DeliveredKillingBlow, DeliverKillingBlowToClass, DeliverKillingBlowToRace, DieAnywhere, DieFromEnviromentalDamage, DieInInstance, DieOnMap, DoEmote, EarnAchievement, EarnAchievementPoints, EarnArtifactXP, EarnArtifactXPForAzeriteItem, EarnBattlegroundRating, EarnChallengeModeMedal, EarnExpansionLevel, EarnGuildAchievementPoints, EarnHonorableKill, EarnLicense, EarnPersonalArenaRating, EarnTeamArenaRating, EarnTitle, EnterArea, EnterAreaTriggerWithActionSet, EnterTopLevelArea, EquipItem, EquipItemInSlot, ExhaustAnyResearchSite, FindResearchObject, FishInAnyPool, FulfillAnyCraftingOrder, FulfillCraftingOrderType, GainAura, GainLevels, GetLootByType, GotHaircut, GroupedTankLeftEarlyInLFGDungeon, GroupedTankLeftEarlyInLFRDungeon, GuildAttainedLevel, GuildBankTabsPurchased, GuildTabardCreated, HealingDone, HighestAuctionBid, HighestAuctionSale, HighestDamageDone, HighestDamageTaken, HighestHealCast, HighestHealReceived, HonorableKills, HonorableKillsForGuild, HonorLevelIncrease, ItemLevelChangedForGarrisonFollower, ItemsPostedAtAuction, KickInitiatorInLFGDungeon, KickInitiatorInLFRDungeon, KickTargetInLFGDungeon, KickTargetInLFRDungeon, KickVoterInLFGDungeon, KickVoterInLFRDungeon, KillAnyCreature, KillAnyCreatureForGuild, KillCreature, KillCreatureScenario, KilledAllUnitsInSpawnRegion, KilledByCreature, KilledByPlayer, KillPlayer, LandTargetedSpellOnTarget, LearnAnyGarrisonBlueprint, LearnAnyGarrisonSpecialization, LearnAnyHeirloom, LearnAnyToy, LearnAnyTransmog, LearnAnyTransmogIllusion, LearnAnyTransmogInSlot, LearnedNewPet, LearnGarrisonBlueprint, LearnGarrisonSpecialization, LearnHeirloom, LearnOrKnowSpell, LearnSpellFromSkillLine, LearnTaxiNode, LearnToy, LearnTradeskillSkillLine, LearnTransmog, LearnTransmogIllusion, LeaveArea, LeaveAreaTriggerWithActionSet, LeaveTopLevelArea, LevelChangedForGarrisonFollower, Login, LootAnyItem, LootItem, LoseDuel, LosePetBattle, MarkedAFKInBattleground, MarkedSomeoneAFKInBattleground, MaxDistFallenWithoutDying, MemorizeSpell, MoneyEarnedFromAuctions, MoneyEarnedFromQuesting, MoneyEarnedFromSales, MoneyLootedFromCreatures, MoneySpentAtBarberShop, MoneySpentOnGuildRepair, MoneySpentOnPostage, MoneySpentOnRespecs, MoneySpentOnTaxis, MostMoneyOwned, MythicPlusCompleted, MythicPlusDisplaySeasonEnded, MythicPlusRatingAttained, ObtainAnyItem, ObtainAnyItemWithCurrencyValue, ParagonLevelIncreaseWithFaction, ParticipateInAnyBattleground, ParticipateInArena, ParticipateInBattleground, ParticipateInRatedSoloShuffleRound, PerksProgramMonthComplete, PlaceAnyGarrisonBuilding, PlaceGarrisonBuilding, PlayerHasEarnedHonor, PlayerObtainPetThroughBattle, PlayerTriggerGameEvent, PrestigeLevelIncrease, PVPKillInArea, QualityUpgradedForGarrisonFollower, ReachLevel, ReachMaxLevel, ReachRenownLevel, RecruitAnyGarrisonFollower, RecruitAnyGarrisonTroop, RecruitGarrisonFollower, ReleasedSpirit, RemovedAFKInBattleground, ReputationAmountGained, ReputationGained, RevealWorldMapOverlay, RollAnyDisenchant, RollAnyGreed, RollAnyNeed, RollDisenchant, RollGreed, RollNeed, RunInstance, ScenarioGroupCompleted, SellItemsToVendors, SkillRaised, SocketAnySoulbindConduit, SocketGarrisonTalent, SpentTalentPoint, StartAnyBattleground, StartAnyGarrisonMissionWithFollowerType, StartGarrisonMission, StartResearchAnyGarrisonTalent, StartResearchGarrisonTalent, SucceedAnyGarrisonMissionWithFollowerType, SucceedGarrisonMission, TotalDamageTaken, TotalExaltedFactions, TotalFactionsEncountered, TotalHealReceived, TotalHonoredFactions, TotalRespecs, TotalReveredFactions, TrackedWorldStateUIModified, UniquePetsOwned, UpgradeGarrison, UseGameobject, UseItem, WinAnyBattleground, WinAnyRankedArena, WinArena, WinBattleground, WinDuel, WinPetBattle, and WinRatedSoloShuffleRound.
Referenced by CriteriaHandler::CanUpdateCriteria(), CriteriaHandler::CanUpdateCriteriaTree(), AchievementMgr::CanUpdateCriteriaTree(), QuestObjectiveCriteriaMgr::CanUpdateCriteriaTree(), GetCriteriaTypeString(), and CriteriaHandler::UpdateCriteria().
|
static |
Definition at line 4051 of file CriteriaHandler.cpp.
References GetCriteriaTypeString().
|
inline |
Definition at line 336 of file CriteriaHandler.h.
| ModifierTreeNode const * CriteriaMgr::GetModifierTree | ( | uint32 | modifierTreeId | ) | const |
Definition at line 4951 of file CriteriaHandler.cpp.
References _criteriaModifiers.
| CriteriaList const & CriteriaMgr::GetPlayerCriteriaByType | ( | CriteriaType | type, |
| uint32 | asset | ||
| ) | const |
Definition at line 4602 of file CriteriaHandler.cpp.
References _criteriasByAsset, _criteriasByType, and EmptyCriteriaList.
|
inline |
Definition at line 343 of file CriteriaHandler.h.
|
static |
Definition at line 4960 of file CriteriaHandler.cpp.
References AchieveSkillStep, AcquireItem, BankSlotsPurchased, BankTabPurchased, BattlePetAchievementPointsEarned, CompleteAnyDailyQuestPerDay, CompleteAnyResearchProject, CompleteQuest, CompleteQuestsCount, CompleteQuestsInZone, CompleteResearchProject, EarnAchievement, EarnAchievementPoints, EarnPersonalArenaRating, HonorableKills, HonorLevelIncrease, LearnedNewPet, LearnOrKnowSpell, LearnSpellFromSkillLine, LearnTaxiNode, LearnTradeskillSkillLine, MostMoneyOwned, ReachLevel, ReachMaxLevel, ReputationGained, RevealWorldMapOverlay, SkillRaised, TotalExaltedFactions, TotalFactionsEncountered, TotalHonoredFactions, TotalReveredFactions, and UniquePetsOwned.
Referenced by AchievementMgr::CheckAllAchievementCriteria(), QuestObjectiveCriteriaMgr::CheckAllQuestObjectiveCriteria(), and QuestObjectiveCriteriaMgr::ResetCriteriaTree().
| CriteriaList const & CriteriaMgr::GetScenarioCriteriaByTypeAndScenario | ( | CriteriaType | type, |
| uint32 | scenarioId | ||
| ) | const |
Definition at line 4616 of file CriteriaHandler.cpp.
References _scenarioCriteriasByTypeAndScenarioId, EmptyCriteriaList, and Trinity::Containers::MapGetValuePtr().
|
static |
Definition at line 4547 of file CriteriaHandler.cpp.
|
inlinestatic |
Definition at line 356 of file CriteriaHandler.h.
References BeSpellTarget, GainAura, KillCreature, WinAnyBattleground, WinAnyRankedArena, and WinBattleground.
Referenced by Player::UpdateCriteria().
| void CriteriaMgr::LoadCriteriaData | ( | ) |
Definition at line 4872 of file CriteriaHandler.cpp.
References _criteriaDataMap, CriteriaDataSet::Add(), CRITERIA_DATA_TYPE_NONE, CRITERIA_DATA_TYPE_SCRIPT, CriteriaData::DataType, GetCriteria(), getMSTime(), GetMSTimeDiffToNow(), Field::GetStringView(), Field::GetUInt32(), Field::GetUInt8(), CriteriaData::IsValid(), CriteriaDataSet::SetCriteriaId(), sObjectMgr, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void CriteriaMgr::LoadCriteriaList | ( | ) |
Definition at line 4696 of file CriteriaHandler.cpp.
References _criteria, _criteriaModifiers, _criteriasByAsset, _criteriasByFailEvent, _criteriasByStartEvent, _criteriasByType, _criteriaTreeByCriteria, _criteriaTrees, _guildCriteriasByType, _questObjectiveCriteriasByType, _scenarioCriteriasByTypeAndScenarioId, CriteriaTree::Achievement, ACHIEVEMENT_FLAG_ACCOUNT, ACHIEVEMENT_FLAG_GUILD, WorldMapOverlayEntry::AreaID, ASSERT, AsUnderlyingType(), Count, CRITERIA_FLAG_CU_ACCOUNT, CRITERIA_FLAG_CU_GUILD, CRITERIA_FLAG_CU_PLAYER, CRITERIA_FLAG_CU_QUEST_OBJECTIVE, CRITERIA_FLAG_CU_SCENARIO, Criteria::Entry, CriteriaTree::Entry, Criteria::FlagsCu, GetEntry(), getMSTime(), GetMSTimeDiffToNow(), Criteria::ID, CriteriaTree::ID, Trinity::Containers::MapGetValuePtr(), MAX_WORLD_MAP_OVERLAY_AREA_IDX, Criteria::Modifier, QUEST_OBJECTIVE_CRITERIA_TREE, CriteriaTree::QuestObjective, RevealWorldMapOverlay, sAchievementStore, CriteriaTree::ScenarioStep, sCriteriaStore, sCriteriaTreeStore, sObjectMgr, sScenarioStepStore, sWorldMapOverlayStore, and TC_LOG_INFO.
| void CriteriaMgr::LoadCriteriaModifiersTree | ( | ) |
Definition at line 4648 of file CriteriaHandler.cpp.
References _criteriaModifiers, ModifierTreeNode::Entry, getMSTime(), GetMSTimeDiffToNow(), Trinity::Containers::MapGetValuePtr(), sModifierTreeStore, TC_LOG_ERROR, and TC_LOG_INFO.
|
delete |
|
delete |
|
inlinestatic |
Definition at line 375 of file CriteriaHandler.h.
References CriteriaTree::Children.
Referenced by Guild::HandleSetAchievementTracking(), AchievementMgr::IsCompletedAchievement(), CriteriaHandler::IsCompletedCriteriaTree(), ScenarioMgr::LoadDB2Data(), QuestObjectiveCriteriaMgr::ResetCriteriaTree(), and GuildAchievementMgr::SendAchievementInfo().
Definition at line 396 of file CriteriaHandler.h.
Referenced by GetCriteria(), and LoadCriteriaList().
|
private |
Definition at line 393 of file CriteriaHandler.h.
Referenced by GetCriteriaDataSet(), and LoadCriteriaData().
|
private |
Definition at line 397 of file CriteriaHandler.h.
Referenced by GetModifierTree(), LoadCriteriaList(), and LoadCriteriaModifiersTree().
|
private |
Definition at line 404 of file CriteriaHandler.h.
Referenced by GetPlayerCriteriaByType(), and LoadCriteriaList().
|
private |
Definition at line 410 of file CriteriaHandler.h.
Referenced by GetCriteriaByFailEvent(), and LoadCriteriaList().
|
private |
Definition at line 409 of file CriteriaHandler.h.
Referenced by GetCriteriaByStartEvent(), and LoadCriteriaList().
|
private |
Definition at line 403 of file CriteriaHandler.h.
Referenced by GetPlayerCriteriaByType(), and LoadCriteriaList().
|
private |
Definition at line 399 of file CriteriaHandler.h.
Referenced by GetCriteriaTreesByCriteria(), and LoadCriteriaList().
|
private |
Definition at line 395 of file CriteriaHandler.h.
Referenced by GetCriteriaTree(), and LoadCriteriaList().
|
private |
Definition at line 405 of file CriteriaHandler.h.
Referenced by LoadCriteriaList().
|
private |
Definition at line 407 of file CriteriaHandler.h.
Referenced by LoadCriteriaList().
|
private |
Definition at line 406 of file CriteriaHandler.h.
Referenced by GetScenarioCriteriaByTypeAndScenario(), and LoadCriteriaList().
|
staticprivate |
Definition at line 402 of file CriteriaHandler.h.
Referenced by GetPlayerCriteriaByType(), and GetScenarioCriteriaByTypeAndScenario().