From 3da4d30371267327cdd4c2d11c32fee3dafd5999 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sat, 29 Oct 2022 12:15:32 +0200 Subject: [PATCH] =?UTF-8?q?fix(Core/Players):=20Fixed=20obtaining=20extra?= =?UTF-8?q?=20(custom)=20talent=20points=20only=20=E2=80=A6=20(#13526)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Core/Players): Fixed obtaining extra (custom) talent points only for DK class. Fixes #4327 --- src/server/game/Entities/Player/Player.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) 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));