aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKudlaty <none@none>2009-10-31 01:14:58 +0100
committerKudlaty <none@none>2009-10-31 01:14:58 +0100
commite44c123184700bacb5b9074fa0809541424d367a (patch)
tree85a67940527565473331c6d5e2bfa486e1629d7e
parent1134fd99f08633dff09822efef99f80c1c6107d9 (diff)
Fix hit chance calculation for Fist Weapons. Patch by krz
--HG-- branch : trunk
-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);
}