aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index e414f861ab3..14e5aa03f86 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -5315,6 +5315,9 @@ bool Player::UpdateSkill(uint32 skill_id, uint32 step)
if(!skill_id)
return false;
+ if(skill_id == SKILL_FIST_WEAPONS)
+ skill_id = SKILL_UNARMED;
+
uint16 i=0;
for (; i < PLAYER_MAX_SKILLS; i++)
if ((GetUInt32Value(PLAYER_SKILL_INDEX(i)) & 0x0000FFFF) == skill_id)
@@ -5519,7 +5522,7 @@ void Player::UpdateWeaponSkill (WeaponAttackType attType)
{
Item *tmpitem = GetWeaponForAttack(attType,true);
if (tmpitem)
- UpdateSkill(tmpitem->GetSkill(),weapon_skill_gain);
+ UpdateSkill(tmpitem->GetSkill(), weapon_skill_gain);
break;
}
}
@@ -20352,8 +20355,9 @@ uint32 Player::GetBaseWeaponSkillValue (WeaponAttackType attType) const
if(attType != BASE_ATTACK && !item)
return 0;
- // weapon skill or (unarmed for base attack)
+ // weapon skill or (unarmed for base attack and for fist weapons)
uint32 skill = item ? item->GetSkill() : uint32(SKILL_UNARMED);
+ uint32 skill = (item && item->GetSkill() != SKILL_FIST_WEAPONS) ? item->GetSkill() : uint32(SKILL_UNARMED);
return GetBaseSkillValue(skill);
}