![]() |
TrinityCore
|
Classes | |
| struct | PlayerDataAccessor |
| struct | SpentCurrency |
| struct | TraitNodeRankCounts |
Enumerations | |
| enum class | LearnResult : int32 { Ok = 0 , Unknown = 1 , NotEnoughTalentsInPrimaryTree = 2 , NoPrimaryTreeSelected = 3 , CantDoThatRightNow = 4 , AffectingCombat = 5 , CantRemoveTalent = 6 , CantDoThatChallengeModeActive = 7 , RestArea = 8 , UnspentTalentPoints = 9 , InPvpMatch = 10 } |
Variables | |
| constexpr uint32 | COMMIT_COMBAT_TRAIT_CONFIG_CHANGES_SPELL_ID = 384255u |
| constexpr uint32 | MAX_COMBAT_TRAIT_CONFIGS = 10u |
|
strong |
| Enumerator | |
|---|---|
| Ok | |
| Unknown | |
| NotEnoughTalentsInPrimaryTree | |
| NoPrimaryTreeSelected | |
| CantDoThatRightNow | |
| AffectingCombat | |
| CantRemoveTalent | |
| CantDoThatChallengeModeActive | |
| RestArea | |
| UnspentTalentPoints | |
| InPvpMatch | |
Definition at line 48 of file TraitMgr.h.
| void TraitMgr::AddSpentCurrenciesForEntry | ( | WorldPackets::Traits::TraitEntry const & | entry, |
| std::map< int32, SpentCurrency > & | cachedCurrencies, | ||
| int32 | multiplier | ||
| ) |
Definition at line 502 of file TraitMgr.cpp.
References TraitMgr::SpentCurrency::ByGate, GetGateConditionsForNode(), Trinity::Containers::MapGetValuePtr(), Trinity::Containers::MapKey, WorldPackets::Traits::TraitEntry::Rank, TraitMgr::SpentCurrency::Total, TraitCondEntry::TraitCurrencyID, and WorldPackets::Traits::TraitEntry::TraitNodeID.
Referenced by FillSpentCurrenciesMap(), and ValidateConfig().
| bool TraitMgr::CanApplyTraitNode | ( | UF::TraitConfig const & | traitConfig, |
| UF::TraitEntry const & | traitEntry | ||
| ) |
Definition at line 1017 of file TraitMgr.cpp.
References Trinity::Containers::MapGetValuePtr(), UF::TraitConfig::SubTrees, UF::TraitEntry::TraitNodeID, and UF::TraitSubTreeCache::TraitSubTreeID.
Referenced by Player::ApplyTraitConfig().
| TraitNodeRankCounts TraitMgr::CountTraitNodeRanks | ( | WorldPackets::Traits::TraitConfig const & | traitConfig, |
| int32 | traitNodeGroupId, | ||
| int32 | traitNodeId, | ||
| int32 | traitNodeEntryId | ||
| ) |
Definition at line 579 of file TraitMgr.cpp.
References WorldPackets::Traits::TraitConfig::Entries, TraitMgr::TraitNodeRankCounts::Entry, TraitMgr::TraitNodeRankCounts::Group, Trinity::Containers::MapGetValuePtr(), and TraitMgr::TraitNodeRankCounts::Node.
Referenced by MeetsTraitCondition().
| void TraitMgr::FillOwnedCurrenciesMap | ( | WorldPackets::Traits::TraitConfig const & | traitConfig, |
| PlayerDataAccessor | player, | ||
| std::map< int32, int32 > & | currencies | ||
| ) |
Definition at line 409 of file TraitMgr.cpp.
References CurrencyTypesBased, WorldPackets::Traits::TraitConfig::Entries, TraitMgr::PlayerDataAccessor::GetCurrencyQuantity(), TraitMgr::PlayerDataAccessor::GetDataElementAccount(), TraitMgr::PlayerDataAccessor::GetDataElementCharacter(), TraitMgr::PlayerDataAccessor::GetLevel(), TraitMgr::PlayerDataAccessor::GetMoney(), GetTreesForConfig(), Gold, TraitMgr::PlayerDataAccessor::HasAchieved(), TraitMgr::PlayerDataAccessor::IsQuestRewarded(), Trinity::Containers::MapGetValuePtr(), TraitSourced, and TraitSourcedPlayerDataElement.
Referenced by InitializeStarterBuildTraitConfig(), and ValidateConfig().
| void TraitMgr::FillSpentCurrenciesMap | ( | std::vector< WorldPackets::Traits::TraitEntry > const & | traitEntries, |
| std::map< int32, SpentCurrency > & | cachedCurrencies | ||
| ) |
Definition at line 542 of file TraitMgr.cpp.
References AddSpentCurrenciesForEntry().
Referenced by Player::ApplyTraitEntryChanges(), MeetsTraitCondition(), and ValidateConfig().
| int32 TraitMgr::GenerateNewTraitConfigId | ( | ) |
Generates new TraitConfig identifier. Because this only needs to be unique for each character we let it overflow
Definition at line 316 of file TraitMgr.cpp.
Referenced by Player::CreateTraitConfig().
| std::array< int32, 2 > TraitMgr::GetClassAndSpecTreeCurrencies | ( | WorldPackets::Traits::TraitConfig const & | traitConfig | ) |
Definition at line 548 of file TraitMgr.cpp.
References GetTreesForConfig().
Referenced by ValidateConfig().
| TraitConfigType TraitMgr::GetConfigTypeForTree | ( | int32 | traitTreeId | ) |
Definition at line 324 of file TraitMgr.cpp.
References Invalid, and Trinity::Containers::MapGetValuePtr().
Referenced by Spell::EffectCreateTraitTreeConfig().
| std::vector< TraitCondEntry const * > TraitMgr::GetGateConditionsForNode | ( | Node const * | node | ) |
Definition at line 475 of file TraitMgr.cpp.
References IsGate, and TraitCondEntry::TraitCurrencyID.
Referenced by AddSpentCurrenciesForEntry().
| std::vector< UF::TraitEntry > TraitMgr::GetGrantedTraitEntriesForConfig | ( | WorldPackets::Traits::TraitConfig const & | traitConfig, |
| PlayerDataAccessor | player | ||
| ) |
Definition at line 766 of file TraitMgr.cpp.
References GetTreesForConfig(), Granted, WorldPackets::Traits::TraitConfig::ID, MeetsTraitCondition(), NodeMeetsTraitConditions(), UF::TraitEntry::TraitNodeEntryID, and UF::TraitEntry::TraitNodeID.
Referenced by Player::_LoadTraits(), Player::CreateTraitConfig(), WorldSession::HandleClassTalentsRequestNewConfig(), and InitializeStarterBuildTraitConfig().
| std::span< TraitCurrencyEntry const *const > TraitMgr::GetSubTreeCurrency | ( | int32 | traitSubTreeId | ) |
Definition at line 563 of file TraitMgr.cpp.
References Trinity::Containers::MapGetValuePtr().
Referenced by ValidateConfig().
| std::vector< TraitDefinitionEffectPointsEntry const * > const * TraitMgr::GetTraitDefinitionEffectPointModifiers | ( | int32 | traitDefinitionId | ) |
Definition at line 1033 of file TraitMgr.cpp.
References Trinity::Containers::MapGetValuePtr().
Referenced by SpellEffectInfo::CalcValue().
| std::vector< Tree const * > const * TraitMgr::GetTreesForConfig | ( | WorldPackets::Traits::TraitConfig const & | traitConfig | ) |
Finds relevant TraitTree identifiers.
| traitConfig | config data |
Definition at line 338 of file TraitMgr.cpp.
References WorldPackets::Traits::TraitConfig::ChrSpecializationID, Combat, Generic, Trinity::Containers::MapGetValuePtr(), Profession, sChrSpecializationStore, WorldPackets::Traits::TraitConfig::SkillLineID, WorldPackets::Traits::TraitConfig::TraitSystemID, and WorldPackets::Traits::TraitConfig::Type.
Referenced by FillOwnedCurrenciesMap(), GetClassAndSpecTreeCurrencies(), GetGrantedTraitEntriesForConfig(), and InitializeStarterBuildTraitConfig().
| bool TraitMgr::HasEnoughCurrency | ( | WorldPackets::Traits::TraitEntry const & | entry, |
| std::map< int32, int32 > const & | currencies | ||
| ) |
Definition at line 357 of file TraitMgr.cpp.
References Trinity::Containers::MapGetValuePtr(), WorldPackets::Traits::TraitEntry::Rank, and WorldPackets::Traits::TraitEntry::TraitNodeID.
Referenced by InitializeStarterBuildTraitConfig().
| void TraitMgr::InitializeStarterBuildTraitConfig | ( | WorldPackets::Traits::TraitConfig & | traitConfig, |
| PlayerDataAccessor | player | ||
| ) |
Definition at line 1038 of file TraitMgr.cpp.
References WorldPackets::Traits::TraitConfig::ChrSpecializationID, WorldPackets::Traits::TraitConfig::Entries, FillOwnedCurrenciesMap(), GetGrantedTraitEntriesForConfig(), GetTreesForConfig(), WorldPackets::Traits::TraitEntry::GrantedRanks, HasEnoughCurrency(), Trinity::Containers::MapGetValuePtr(), WorldPackets::Traits::TraitEntry::Rank, TakeCurrencyCost(), WorldPackets::Traits::TraitEntry::TraitNodeEntryID, and WorldPackets::Traits::TraitEntry::TraitNodeID.
Referenced by WorldSession::HandleClassTalentsSetStarterBuildActive().
| bool TraitMgr::IsValidEntry | ( | WorldPackets::Traits::TraitEntry const & | traitEntry | ) |
Definition at line 822 of file TraitMgr.cpp.
References WorldPackets::Traits::TraitEntry::GrantedRanks, Trinity::Containers::MapGetValuePtr(), WorldPackets::Traits::TraitEntry::Rank, and WorldPackets::Traits::TraitEntry::TraitNodeID.
Referenced by Player::_LoadTraits(), and ValidateConfig().
| void TraitMgr::Load | ( | ) |
Definition at line 91 of file TraitMgr.cpp.
References SkillLineEntry::CategoryID, Combat, Generic, SkillLineEntry::ID, TraitTreeXTraitCurrencyEntry::Index, Trinity::Containers::MapEqualRange(), Trinity::Containers::MapGetValuePtr(), MAX_CLASSES, TraitTreeLoadoutEntryEntry::OrderIndex, Profession, sDB2Manager, SKILL_CATEGORY_CLASS, sSkillLineStore, sSkillLineXTraitTreeStore, sTraitCondStore, sTraitCostStore, sTraitCurrencySourceStore, sTraitCurrencyStore, sTraitDefinitionEffectPointsStore, sTraitEdgeStore, sTraitNodeEntryStore, sTraitNodeEntryXTraitCondStore, sTraitNodeEntryXTraitCostStore, sTraitNodeGroupStore, sTraitNodeGroupXTraitCondStore, sTraitNodeGroupXTraitCostStore, sTraitNodeGroupXTraitNodeStore, sTraitNodeStore, sTraitNodeXTraitCondStore, sTraitNodeXTraitCostStore, sTraitNodeXTraitNodeEntryStore, sTraitSubTreeStore, sTraitTreeLoadoutEntryStore, sTraitTreeLoadoutStore, sTraitTreeStore, sTraitTreeXTraitCostStore, sTraitTreeXTraitCurrencyStore, and TraitTreeXTraitCurrencyEntry::TraitCurrencyID.
Referenced by World::SetInitialWorldSettings().
| bool TraitMgr::MeetsTraitCondition | ( | WorldPackets::Traits::TraitConfig const & | traitConfig, |
| PlayerDataAccessor | player, | ||
| TraitCondEntry const * | condition, | ||
| Optional< std::map< int32, SpentCurrency > > & | cachedCurrencies | ||
| ) |
Definition at line 602 of file TraitMgr.cpp.
References TraitCondEntry::AchievementID, WorldPackets::Traits::TraitConfig::ChrSpecializationID, Combat, CountTraitNodeRanks(), WorldPackets::Traits::TraitConfig::Entries, TraitMgr::TraitNodeRankCounts::Entry, FillSpentCurrenciesMap(), TraitMgr::PlayerDataAccessor::GetDataElementAccount(), TraitMgr::PlayerDataAccessor::GetDataElementCharacter(), TraitMgr::PlayerDataAccessor::GetLevel(), TraitMgr::PlayerDataAccessor::GetPrimarySpecialization(), TraitMgr::TraitNodeRankCounts::Group, TraitMgr::PlayerDataAccessor::HasAchieved(), TraitMgr::PlayerDataAccessor::IsQuestRewarded(), TraitMgr::TraitNodeRankCounts::Node, TraitCondEntry::QuestID, TraitCondEntry::RequiredLevel, sDB2Manager, TraitCondEntry::SpecSetID, TraitCondEntry::SpentAmountRequired, sTraitCondAccountElementStore, sTraitCurrencyStore, TraitCondEntry::TraitCondAccountElementID, TraitCondEntry::TraitCurrencyID, TraitCondEntry::TraitNodeEntryID, TraitCondEntry::TraitNodeGroupID, TraitCondEntry::TraitNodeID, and WorldPackets::Traits::TraitConfig::Type.
Referenced by GetGrantedTraitEntriesForConfig(), and NodeMeetsTraitConditions().
| bool TraitMgr::NodeMeetsTraitConditions | ( | WorldPackets::Traits::TraitConfig const & | traitConfig, |
| Node const * | node, | ||
| uint32 | traitNodeEntryId, | ||
| PlayerDataAccessor | player, | ||
| Optional< std::map< int32, SpentCurrency > > & | spentCurrencies | ||
| ) |
Definition at line 681 of file TraitMgr.cpp.
References Available, IsSufficient, MeetsTraitCondition(), RanksAllowed, and Visible.
Referenced by GetGrantedTraitEntriesForConfig(), and ValidateConfig().
| void TraitMgr::TakeCurrencyCost | ( | WorldPackets::Traits::TraitEntry const & | entry, |
| std::map< int32, int32 > & | currencies | ||
| ) |
Definition at line 389 of file TraitMgr.cpp.
References Trinity::Containers::MapGetValuePtr(), WorldPackets::Traits::TraitEntry::Rank, and WorldPackets::Traits::TraitEntry::TraitNodeID.
Referenced by InitializeStarterBuildTraitConfig().
| LearnResult TraitMgr::ValidateConfig | ( | WorldPackets::Traits::TraitConfig & | traitConfig, |
| PlayerDataAccessor | player, | ||
| bool | requireSpendingAllCurrencies, | ||
| bool | removeInvalidEntries | ||
| ) |
Definition at line 838 of file TraitMgr.cpp.
References AddSpentCurrenciesForEntry(), ASSERT, Combat, WorldPackets::Traits::TraitConfig::Entries, FillOwnedCurrenciesMap(), FillSpentCurrenciesMap(), GetClassAndSpecTreeCurrencies(), GetSubTreeCurrency(), WorldPackets::Traits::TraitEntry::GrantedRanks, IsValidEntry(), Trinity::Containers::MapGetValuePtr(), NodeMeetsTraitConditions(), NotEnoughTalentsInPrimaryTree, Ok, WorldPackets::Traits::TraitEntry::Rank, RequiredForAvailability, Selection, sTraitCurrencyStore, WorldPackets::Traits::TraitConfig::SubTrees, SubTreeSelection, TraitMgr::SpentCurrency::Total, WorldPackets::Traits::TraitEntry::TraitNodeID, TraitSourced, WorldPackets::Traits::TraitSubTreeCache::TraitSubTreeID, WorldPackets::Traits::TraitConfig::Type, Unknown, and UnspentTalentPoints.
Referenced by Player::_LoadTraits(), WorldSession::HandleClassTalentsRequestNewConfig(), and WorldSession::HandleTraitsCommitConfig().
|
constexpr |
Definition at line 45 of file TraitMgr.h.
Referenced by Player::UpdateTraitConfig().
|
constexpr |
Definition at line 46 of file TraitMgr.h.
Referenced by WorldSession::HandleClassTalentsRequestNewConfig().