diff --git a/apps/openmw/mwmechanics/weaponpriority.cpp b/apps/openmw/mwmechanics/weaponpriority.cpp index 26c784c4d3..9030d6254a 100644 --- a/apps/openmw/mwmechanics/weaponpriority.cpp +++ b/apps/openmw/mwmechanics/weaponpriority.cpp @@ -108,11 +108,19 @@ namespace MWMechanics } } - int skill = item.getClass().getEquipmentSkill(item); - if (skill != -1) + if (actor.getClass().isNpc()) { - int value = actor.getClass().getSkill(actor, skill); - rating *= MWMechanics::getHitChance(actor, enemy, value) / 100.f; + int skill = item.getClass().getEquipmentSkill(item); + if (skill != -1) + { + int value = actor.getClass().getSkill(actor, skill); + rating *= MWMechanics::getHitChance(actor, enemy, value) / 100.f; + } + } + else + { + MWWorld::LiveCellRef *ref = actor.get(); + rating *= MWMechanics::getHitChance(actor, enemy, ref->mBase->mData.mCombat) / 100.f; } return rating * rangedMult;