diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 78de55590..c79d6f1e1 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -13316,14 +13316,21 @@ uint32 Player::CalculateTalentsPoints() const { uint32 base_talent = getLevel() < 10 ? 0 : getLevel() - 9; + uint32 talentPointsForLevel = 0; if (getClass() != CLASS_DEATH_KNIGHT || GetMapId() != 609) - return uint32(base_talent * sWorld->getRate(RATE_TALENT)); - - uint32 talentPointsForLevel = getLevel() < 56 ? 0 : getLevel() - 55; - talentPointsForLevel += m_questRewardTalentCount; - - if (talentPointsForLevel > base_talent) + { talentPointsForLevel = base_talent; + } + else + { + talentPointsForLevel = getLevel() < 56 ? 0 : getLevel() - 55; + talentPointsForLevel += m_questRewardTalentCount; + + if (talentPointsForLevel > base_talent) + { + talentPointsForLevel = base_talent; + } + } talentPointsForLevel += m_extraBonusTalentCount; return uint32(talentPointsForLevel * sWorld->getRate(RATE_TALENT));