18#ifndef TRINITY_TRAIT_MGR_H
19#define TRINITY_TRAIT_MGR_H
constexpr uint32 COMMIT_COMBAT_TRAIT_CONFIG_CHANGES_SPELL_ID
void FillSpentCurrenciesMap(WorldPackets::Traits::TraitEntry const &entry, std::map< int32, int32 > &cachedCurrencies)
constexpr uint32 MAX_COMBAT_TRAIT_CONFIGS
void InitializeStarterBuildTraitConfig(WorldPackets::Traits::TraitConfig &traitConfig, PlayerDataAccessor player)
std::vector< TraitDefinitionEffectPointsEntry const * > const * GetTraitDefinitionEffectPointModifiers(int32 traitDefinitionId)
int32 GenerateNewTraitConfigId()
LearnResult ValidateConfig(WorldPackets::Traits::TraitConfig const &traitConfig, PlayerDataAccessor player, bool requireSpendingAllCurrencies)
bool IsValidEntry(WorldPackets::Traits::TraitEntry const &traitEntry)
@ CantDoThatChallengeModeActive
@ NotEnoughTalentsInPrimaryTree
std::vector< UF::TraitEntry > GetGrantedTraitEntriesForConfig(WorldPackets::Traits::TraitConfig const &traitConfig, PlayerDataAccessor player)
TraitConfigType GetConfigTypeForTree(int32 traitTreeId)
PlayerDataAccessor(Player const *player)
int32 GetCurrencyQuantity(int32 currencyId) const
uint32 GetPrimarySpecialization() const
bool HasAchieved(int32 achievementId) const
bool IsQuestRewarded(int32 questId) const