Weapon condition inconsistency between melee and ranged critical / sneak / KO attacks
First, I'm playing Morrowind for the first time and wouldn't nearly have enjoyed myself so much if this project did not exist, so thank you to everyone that has contributed. I looked at previous issues/MRs and see that there is some grey area as to what the behavior of ranged critical hits should be, relative to vanilla, but I think this issue still stands within the context of OpenMW and seems to have gone unreported (as best I can find).
From what I can tell, melee hits are controlled via Npc::hit, and ranged hits via MWMechanics::projectileHit. For melee attacks, the function (1) calculates the final damage to be dealt, (2) reduces the weapon condition, and then (3) applies the critical hit and/or KO multiplier. However, ranged hits instead apply the KO multiplier prior to reducing weapon condition. This causes launchers to degrade faster than expected when used while sneaking, and I don't believe this is intended.
It looks like the fix would be trivial; just adding a call to reduceWeaponCondition
within the upper validVictim
if block at the appropriate location, and moving the existing one into an else block (which would also support any future actions that might need to be performed for invalid hits). I'm happy to make such an MR if this issue with not in err and this is a preferred solution. Thank you for your time, either way.