aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ArtifactHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/ArtifactHandler.cpp')
-rw-r--r--src/server/game/Handlers/ArtifactHandler.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/server/game/Handlers/ArtifactHandler.cpp b/src/server/game/Handlers/ArtifactHandler.cpp
index 58fc03ec7e7..e4a7afba5f0 100644
--- a/src/server/game/Handlers/ArtifactHandler.cpp
+++ b/src/server/game/Handlers/ArtifactHandler.cpp
@@ -33,11 +33,11 @@ void WorldSession::HandleArtifactAddPower(WorldPackets::Artifact::ArtifactAddPow
if (!artifact)
return;
- int32 xpCost = 0;
+ uint64 xpCost = 0;
if (GtArtifactLevelXPEntry const* cost = sArtifactLevelXPGameTable.GetRow(artifact->GetTotalPurchasedArtifactPowers() + 1))
- xpCost = int32(cost->XP);
+ xpCost = uint64(cost->XP);
- if (xpCost > artifact->GetInt32Value(ITEM_FIELD_ARTIFACT_XP))
+ if (xpCost > artifact->GetUInt64Value(ITEM_FIELD_ARTIFACT_XP))
return;
if (artifactAddPower.PowerChoices.empty())
@@ -111,7 +111,7 @@ void WorldSession::HandleArtifactAddPower(WorldPackets::Artifact::ArtifactAddPow
}
}
- artifact->ApplyModInt32Value(ITEM_FIELD_ARTIFACT_XP, xpCost, false);
+ artifact->SetUInt64Value(ITEM_FIELD_ARTIFACT_XP, artifact->GetUInt64Value(ITEM_FIELD_ARTIFACT_XP) - xpCost);
artifact->SetState(ITEM_CHANGED, _player);
}
@@ -172,13 +172,13 @@ void WorldSession::HandleConfirmArtifactRespec(WorldPackets::Artifact::ConfirmAr
if (GtArtifactLevelXPEntry const* cost = sArtifactLevelXPGameTable.GetRow(artifact->GetTotalPurchasedArtifactPowers() + 1))
xpCost = uint32(cost->XP);
- if (xpCost > artifact->GetUInt32Value(ITEM_FIELD_ARTIFACT_XP))
+ if (xpCost > artifact->GetUInt64Value(ITEM_FIELD_ARTIFACT_XP))
return;
- uint32 newAmount = artifact->GetUInt32Value(ITEM_FIELD_ARTIFACT_XP) - xpCost;
+ 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 += uint32(cost->XP);
+ newAmount += uint64(cost->XP);
for (ItemDynamicFieldArtifactPowers const& artifactPower : artifact->GetArtifactPowers())
{
@@ -213,6 +213,6 @@ void WorldSession::HandleConfirmArtifactRespec(WorldPackets::Artifact::ConfirmAr
_player->ApplyArtifactPowerRank(artifact, scaledArtifactPowerRank, false);
}
- artifact->SetUInt32Value(ITEM_FIELD_ARTIFACT_XP, newAmount);
+ artifact->SetUInt64Value(ITEM_FIELD_ARTIFACT_XP, newAmount);
artifact->SetState(ITEM_CHANGED, _player);
}