diff options
Diffstat (limited to 'src/server/game/Handlers/ArtifactHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ArtifactHandler.cpp | 16 |
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); } |