18#ifndef AzeriteItem_h__
19#define AzeriteItem_h__
44 uint32 level = m_azeriteItemData->AuraLevel;
46 level = m_azeriteItemData->Level;
52 static uint32 GetCurrentKnowledgeLevel();
59 bool CanUseEssences()
const;
60 bool HasUnlockedEssenceSlot(
uint8 slot)
const;
61 bool HasUnlockedEssenceMilestone(
uint32 azeriteItemMilestonePowerId)
const {
return m_azeriteItemData->UnlockedEssenceMilestones.FindIndex(azeriteItemMilestonePowerId) != -1; }
69 void SetEssenceRank(
uint32 azeriteEssenceId,
uint32 rank);
72 void SetSelectedAzeriteEssences(
uint32 specializationId);
73 void CreateSelectedAzeriteEssences(
uint32 specializationId);
74 void SetSelectedAzeriteEssence(
uint8 slot,
uint32 azeriteEssenceId);
95 void operator()(
Player const* player)
const;
101 void UnlockDefaultMilestones();
constexpr uint32 MAX_AZERITE_ITEM_LEVEL
constexpr uint32 SPELL_ID_HEART_ESSENCE_ACTION_BAR_OVERRIDE
constexpr uint32 PLAYER_CONDITION_ID_UNLOCKED_AZERITE_ESSENCES
constexpr uint32 ITEM_ID_HEART_OF_AZEROTH
constexpr uint32 MAX_AZERITE_ITEM_KNOWLEDGE_LEVEL
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
uint32 GetEffectiveLevel() const
UF::UpdateField< UF::AzeriteItemData, 0, TYPEID_AZERITE_ITEM > m_azeriteItemData
bool HasUnlockedEssenceMilestone(uint32 azeriteItemMilestonePowerId) const
void AddUnlockedEssenceMilestone(uint32 azeriteItemMilestonePowerId)
virtual void SaveToDB(CharacterDatabaseTransaction trans)
void BuildValuesUpdateWithFlag(ByteBuffer *data, UF::UpdateFieldFlag flags, Player const *target) const override
void BuildValuesUpdateForPlayerWithMask(UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::ItemData::Mask const &requestedItemMask, Player const *target) const
void ClearUpdateMask(bool remove) override
void BuildValuesCreate(ByteBuffer *data, Player const *target) const override
virtual bool Create(ObjectGuid::LowType guidlow, uint32 itemId, ItemContext context, Player const *owner)
void BuildValuesUpdate(ByteBuffer *data, Player const *target) const override
static void DeleteFromDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid)
UF::DynamicUpdateFieldSetter< T >::insert_result AddDynamicUpdateFieldValue(UF::DynamicUpdateFieldSetter< T > setter)
UF::AzeriteItemData::Base AzeriteItemMask
AzeriteItem const * Owner
UF::ItemData::Base ItemMask
UF::ObjectData::Base ObjectMask
ValuesUpdateForPlayerWithMaskSender(AzeriteItem const *owner)
DynamicUpdateField< uint32, 0, 4 > UnlockedEssenceMilestones