47 if (previousMilestone == milestonePower)
67 activateEssenceResult.
Slot = azeriteEssenceActivateEssence.
Slot;
104 activateEssenceResult.
Slot = azeriteEssenceActivateEssence.
Slot;
112 activateEssenceResult.
Slot = azeriteEssenceActivateEssence.
Slot;
120 activateEssenceResult.
Slot = azeriteEssenceActivateEssence.
Slot;
125 if (selectedEssences)
128 int32 removeEssenceFromSlot = -1;
131 removeEssenceFromSlot = slot;
134 if (selectedEssences->
AzeriteEssenceID[0] && (azeriteEssenceActivateEssence.
Slot == 0 || removeEssenceFromSlot == 0))
136 for (
uint32 essenceRank = 1; essenceRank <= rank; ++essenceRank)
143 activateEssenceResult.
Slot = azeriteEssenceActivateEssence.
Slot;
150 if (removeEssenceFromSlot != -1)
195 if (!azeriteEmpoweredItem)
209 azeriteLevel = azeriteItem->GetEffectiveLevel();
212 if (azeriteLevel < azeriteEmpoweredItem->GetRequiredAzeriteLevelForTier(
uint32(actualTier)))
226 if (activateAzeritePower)
241 npcInteraction.
Npc = npc;
constexpr uint32 ITEM_ID_HEART_OF_AZEROTH
DB2Storage< AzeriteItemMilestonePowerEntry > sAzeriteItemMilestonePowerStore("AzeriteItemMilestonePower.db2", &AzeriteItemMilestonePowerLoadInfo::Instance)
DB2Storage< AzeritePowerEntry > sAzeritePowerStore("AzeritePower.db2", &AzeritePowerLoadInfo::Instance)
#define MAX_AZERITE_EMPOWERED_TIER
#define MAX_AZERITE_ESSENCE_RANK
#define MAX_AZERITE_ESSENCE_SLOT
#define ASSERT_NOTNULL(pointer)
@ ITEM_FIELD_FLAG_AZERITE_EMPOWERED_ITEM_VIEWED
@ UNIT_FLAG2_ALLOW_CHANGING_TALENTS
constexpr std::underlying_type< E >::type AsUnderlyingType(E enumValue)
int32 GetTierForAzeritePower(Classes playerClass, int32 azeritePowerId) const
int32 GetMaxAzeritePowerTier() const
uint32 GetSelectedAzeritePower(int32 tier) const
void SetSelectedAzeritePower(int32 tier, int32 azeritePowerId)
UF::SelectedAzeriteEssences const * GetSelectedAzeriteEssences() const
void SetSelectedAzeriteEssence(uint8 slot, uint32 azeriteEssenceId)
bool HasUnlockedEssenceSlot(uint8 slot) const
static GameObject const * FindHeartForge(Player const *owner)
bool HasUnlockedEssenceMilestone(uint32 azeriteItemMilestonePowerId) const
bool CanUseEssences() const
void AddUnlockedEssenceMilestone(uint32 azeriteItemMilestonePowerId)
void CreateSelectedAzeriteEssences(uint32 specializationId)
uint32 GetEssenceRank(uint32 azeriteEssenceId) const
void SetState(ItemUpdateState state, Player *forplayer=nullptr)
void SetItemFlag(ItemFieldFlags flags)
bool IsAzeriteEmpoweredItem() const
AzeriteItem * ToAzeriteItem()
AzeriteEmpoweredItem * ToAzeriteEmpoweredItem()
ChrSpecialization GetPrimarySpecialization() const
void ApplyAzeriteEssence(AzeriteItem *item, uint32 azeriteEssenceId, uint32 rank, bool major, bool apply)
void _ApplyItemMods(Item *item, uint8 slot, bool apply, bool updateItemAuras=true)
Item * GetItemByEntry(uint32 entry, ItemSearchLocation where=ItemSearchLocation::Default) const
void ApplyAzeritePower(AzeriteEmpoweredItem *item, AzeritePowerEntry const *azeritePower, bool apply)
Item * GetItemByPos(uint16 pos) const
void ApplyAzeriteItemMilestonePower(AzeriteItem *item, AzeriteItemMilestonePowerEntry const *azeriteItemMilestonePower, bool apply)
bool HasPlayerFlag(PlayerFlags flags) const
Item * GetItemByGuid(ObjectGuid guid) const
bool HasCooldown(SpellInfo const *spellInfo, uint32 itemId=0) const
bool HasUnitFlag2(UnitFlags2 flags) const
SpellHistory * GetSpellHistory()
WorldPacket const * Write() override
AzeriteEssenceActivateResult Reason
int32 AzeriteItemMilestonePowerID
PlayerInteractionType InteractionType
WorldPacket const * Write() override
void HandleAzeriteEssenceUnlockMilestone(WorldPackets::Azerite::AzeriteEssenceUnlockMilestone &azeriteEssenceUnlockMilestone)
void SendAzeriteRespecNPC(ObjectGuid npc)
void HandleAzeriteEssenceActivateEssence(WorldPackets::Azerite::AzeriteEssenceActivateEssence &azeriteEssenceActivateEssence)
void HandleAzeriteEmpoweredItemSelectPower(WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower &azeriteEmpoweredItemSelectPower)
void SendPacket(WorldPacket const *packet, bool forced=false)
Send a packet to the client.
void HandleAzeriteEmpoweredItemViewed(WorldPackets::Azerite::AzeriteEmpoweredItemViewed &azeriteEmpoweredItemViewed)
int32 MajorPowerDescription
UpdateFieldArray< uint32, 4, 3, 4 > AzeriteEssenceID