diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-12-29 13:03:07 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-12-29 13:03:07 +0100 |
commit | ec806fa9add886114fb28d12e7653a5b19df120d (patch) | |
tree | 79b7325237c88c72596970e8608d96f3db378feb | |
parent | 26321d88d4c1e86b2ecb07cc2e3ac779c325a0cb (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.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 3 |
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; |