55 if (!artifactPowerEntry)
58 if (artifactPowerEntry->
Tier > currentArtifactTier)
62 if (artifactPowerEntry->
Tier < currentArtifactTier)
67 maxRank += currentArtifactTier - artifactPowerEntry->
Tier;
78 bool hasAnyLink =
false;
79 for (
uint32 artifactPowerLinkId : *artifactPowerLinks)
82 if (!artifactPowerLink)
86 if (!artifactPowerLinkLearned)
102 if (!artifactPowerRank)
118 if (!scaledArtifactPowerRank)
138 artifactTier = artifactPowerEntry->
Tier + 1;
142 if (totalPurchasedArtifactPower < tier->MaxNumTraits)
144 artifactTier = tier->ArtifactTier;
149 artifactTier = std::max(artifactTier, currentArtifactTier);
151 for (
uint32 i = currentArtifactTier; i <= artifactTier; ++i)
163 if (!artifactAppearance)
214 if (xpCost > artifact->
m_itemData->ArtifactXP)
225 if (!oldPurchasedRank)
242 if (!scaledArtifactPowerRank)
DB2Storage< ArtifactAppearanceEntry > sArtifactAppearanceStore("ArtifactAppearance.db2", &ArtifactAppearanceLoadInfo::Instance)
DB2Storage< ArtifactPowerEntry > sArtifactPowerStore("ArtifactPower.db2", &ArtifactPowerLoadInfo::Instance)
DB2Storage< ArtifactTierEntry > sArtifactTierStore("ArtifactTier.db2", &ArtifactTierLoadInfo::Instance)
DB2Storage< PlayerConditionEntry > sPlayerConditionStore("PlayerCondition.db2", &PlayerConditionLoadInfo::Instance)
DB2Storage< ArtifactAppearanceSetEntry > sArtifactAppearanceSetStore("ArtifactAppearanceSet.db2", &ArtifactAppearanceSetLoadInfo::Instance)
@ ARTIFACT_POWER_FLAG_SCALES_WITH_NUM_POWERS
@ ARTIFACT_POWER_FLAG_MAX_RANK_WITH_TIER
@ ARTIFACT_POWER_FLAG_NO_LINK_REQUIRED
@ ARTIFACT_POWER_FLAG_FINAL
#define MAX_ARTIFACT_TIER
@ ITEM_MODIFIER_ARTIFACT_APPEARANCE_ID
@ ITEM_MODIFIER_ARTIFACT_TIER
@ GAMEOBJECT_TYPE_ITEM_FORGE
@ UNIT_NPC_FLAG_ARTIFACT_POWER_RESPEC
void SetState(ItemUpdateState state, Player *forplayer=nullptr)
void SetArtifactPower(uint16 artifactPowerId, uint8 purchasedRank, uint8 currentRankWithBonus)
void InitArtifactPowers(uint8 artifactId, uint8 artifactTier)
void SetModifier(ItemModifier modifier, uint32 value)
ItemTemplate const * GetTemplate() const
UF::ArtifactPower const * GetArtifactPower(uint32 artifactPowerId) const
bool IsArtifactDisabled() const
void SetArtifactXP(uint64 xp)
void SetAppearanceModId(uint32 appearanceModId)
ObjectGuid GetChildItem() const
uint32 GetModifier(ItemModifier modifier) const
uint32 GetTotalPurchasedArtifactPowers() const
UF::UpdateField< UF::ItemData, 0, TYPEID_ITEM > m_itemData
Creature * GetNPCIfCanInteractWith(ObjectGuid const &guid, NPCFlags npcFlags, NPCFlags2 npcFlags2) const
Item * GetChildItemByGuid(ObjectGuid guid) const
GameObject * GetGameObjectIfCanInteractWith(ObjectGuid const &guid) const
void SetVisibleItemSlot(uint8 slot, Item *pItem)
Item * GetItemByGuid(ObjectGuid guid) const
void ApplyArtifactPowerRank(Item *artifact, ArtifactPowerRankEntry const *artifactPowerRank, bool apply)
void RestoreDisplayId(bool ignorePositiveAurasPreventingMounting=false)
ShapeshiftForm GetShapeshiftForm() const
Array< ArtifactPowerChoice, 1 > PowerChoices
int32 ArtifactAppearanceID
void HandleConfirmArtifactRespec(WorldPackets::Artifact::ConfirmArtifactRespec &confirmArtifactRespec)
void HandleArtifactSetAppearance(WorldPackets::Artifact::ArtifactSetAppearance &artifactSetAppearance)
void HandleArtifactAddPower(WorldPackets::Artifact::ArtifactAddPower &artifactAddPower)
uint32 UnlockPlayerConditionID
uint16 ArtifactAppearanceSetID
uint8 OverrideShapeshiftFormID
uint32 OverrideShapeshiftDisplayID
uint8 ItemAppearanceModifierID
uint8 GetArtifactID() const
uint8 CurrentRankWithBonus