aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-12-29 13:03:07 +0100
committerShauren <shauren.trinity@gmail.com>2016-12-29 13:03:07 +0100
commitec806fa9add886114fb28d12e7653a5b19df120d (patch)
tree79b7325237c88c72596970e8608d96f3db378feb
parent26321d88d4c1e86b2ecb07cc2e3ac779c325a0cb (diff)
Core/Items: Fixed applying artifact powers scaling with number of purchased ranks (+stamina/+damage)
Closes #18644
-rw-r--r--src/server/game/Entities/Item/Item.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index fc8ef4755f6..4d7bb86a730 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -831,7 +831,7 @@ void Item::LoadArtifactData(uint32 xp, uint32 artifactAppearanceId, std::vector<
if (!(scaledArtifactPowerEntry->Flags & ARTIFACT_POWER_FLAG_SCALES_WITH_NUM_POWERS))
continue;
- power.CurrentRankWithBonus = totalPurchasedRanks;
+ power.CurrentRankWithBonus = totalPurchasedRanks + 1;
SetArtifactPower(&power);
}
}
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 8ea901380a2..9db69e2e627 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -7615,6 +7615,9 @@ void Player::ApplyArtifactPowers(Item* item, bool apply)
if (!rank)
continue;
+ if (sArtifactPowerStore.AssertEntry(artifactPower.ArtifactPowerId)->Flags & ARTIFACT_POWER_FLAG_SCALES_WITH_NUM_POWERS)
+ rank = 1;
+
ArtifactPowerRankEntry const* artifactPowerRank = sDB2Manager.GetArtifactPowerRank(artifactPower.ArtifactPowerId, rank - 1);
if (!artifactPowerRank)
continue;