From 04ca95d54c150ef231ce6cc0fd671791a26cdfa1 Mon Sep 17 00:00:00 2001 From: Zilvereyes Date: Mon, 29 Aug 2016 09:28:29 +0200 Subject: [PATCH] Player::UpdateCombatSkills -> compare 5 x PlayerLevel with GetBaseWeaponSkillValue / GetBaseDefenseSkillValue (#160) GetBaseWeaponSkillValue and GetBaseDefenseSkillValue -> return GetBaseSkillValue, but this return with added SKILL_PERM_BONUS Due to this the skilldif formula in Player::UpdateCombatSkills is miscalculating maximum value I have changed GetBaseWeaponSkillValue and GetBaseDefenseSkillValue to utilize GetPureSkillValue correcting the calculation --- src/game/Object/Player.cpp | 2 +- src/game/Object/Player.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game/Object/Player.cpp b/src/game/Object/Player.cpp index aa862668..04070193 100644 --- a/src/game/Object/Player.cpp +++ b/src/game/Object/Player.cpp @@ -18793,7 +18793,7 @@ uint32 Player::GetBaseWeaponSkillValue(WeaponAttackType attType) const // weapon skill or (unarmed for base attack) uint32 skill = item ? item->GetSkill() : uint32(SKILL_UNARMED); - return GetBaseSkillValue(skill); + return GetPureSkillValue(skill); } void Player::ResurectUsingRequestData() diff --git a/src/game/Object/Player.h b/src/game/Object/Player.h index c74504e0..f1297be4 100644 --- a/src/game/Object/Player.h +++ b/src/game/Object/Player.h @@ -1750,7 +1750,7 @@ class Player : public Unit uint32 GetBaseDefenseSkillValue() const { - return GetBaseSkillValue(SKILL_DEFENSE); + return GetPureSkillValue(SKILL_DEFENSE); } uint32 GetBaseWeaponSkillValue(WeaponAttackType attType) const;