diff options
Diffstat (limited to 'src/server/game/Handlers/ArtifactHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ArtifactHandler.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Handlers/ArtifactHandler.cpp b/src/server/game/Handlers/ArtifactHandler.cpp index e4a7afba5f0..a5143b81c07 100644 --- a/src/server/game/Handlers/ArtifactHandler.cpp +++ b/src/server/game/Handlers/ArtifactHandler.cpp @@ -35,7 +35,7 @@ void WorldSession::HandleArtifactAddPower(WorldPackets::Artifact::ArtifactAddPow uint64 xpCost = 0; if (GtArtifactLevelXPEntry const* cost = sArtifactLevelXPGameTable.GetRow(artifact->GetTotalPurchasedArtifactPowers() + 1)) - xpCost = uint64(cost->XP); + xpCost = uint64(artifact->GetModifier(ITEM_MODIFIER_ARTIFACT_TIER) == 1 ? cost->XP2 : cost->XP); if (xpCost > artifact->GetUInt64Value(ITEM_FIELD_ARTIFACT_XP)) return; @@ -168,9 +168,9 @@ void WorldSession::HandleConfirmArtifactRespec(WorldPackets::Artifact::ConfirmAr if (!artifact) return; - uint32 xpCost = 0; + uint64 xpCost = 0; if (GtArtifactLevelXPEntry const* cost = sArtifactLevelXPGameTable.GetRow(artifact->GetTotalPurchasedArtifactPowers() + 1)) - xpCost = uint32(cost->XP); + xpCost = uint64(artifact->GetModifier(ITEM_MODIFIER_ARTIFACT_TIER) == 1 ? cost->XP2 : cost->XP); if (xpCost > artifact->GetUInt64Value(ITEM_FIELD_ARTIFACT_XP)) return; @@ -178,7 +178,7 @@ void WorldSession::HandleConfirmArtifactRespec(WorldPackets::Artifact::ConfirmAr uint64 newAmount = artifact->GetUInt64Value(ITEM_FIELD_ARTIFACT_XP) - xpCost; for (uint32 i = 0; i <= artifact->GetTotalPurchasedArtifactPowers(); ++i) if (GtArtifactLevelXPEntry const* cost = sArtifactLevelXPGameTable.GetRow(i)) - newAmount += uint64(cost->XP); + newAmount += uint64(artifact->GetModifier(ITEM_MODIFIER_ARTIFACT_TIER) == 1 ? cost->XP2 : cost->XP); for (ItemDynamicFieldArtifactPowers const& artifactPower : artifact->GetArtifactPowers()) { |