Useless melee piercing: Bug, unimplemented, or feature?

Versons 0.7 stable and 0.9 stable:

I’ve always noticed that melee piercing weapons don’t work as well as advertised. For example, a cutting weapon with a “Cut” score of 10 works WAY better than a spear with a “Pierce” score of 10, all other factors equal. I looked into the code to find out why.

Based on what I saw in melee.cpp:

Weapons gain damage based on which skills are used. All non-martial arts melee weapons use the “bashing” skill for some of their damage. Some weapons (like machetes) use “cutting” skill, some (like spears) use “stabbing” skill, and some (like “knives”) use both.

When a weapon uses the “cutting” skill, the cutting portion of its damage is some percentage of its cut score:

// 80%, 88%, 96%, 104%, 112%, 116%, 120%, 124%, 128%, 132% if (skillLevel("cutting") <= 5) ret *= 0.8 + 0.08 * skillLevel("cutting"); else ret *= 0.92 + 0.04 * skillLevel("cutting");

When a weapon uses the “stabbing” skill, the piercing portion of its damage is only a quarter of the weapon’s cut score:

else if (weapon.has_flag("SPEAR") || weapon.has_flag("STAB")) ret = int((weapon.damage_cut() - z_armor) / 4);
[ul]Because it uses “bashing” and “stabbing” skills, and stabbing damage is weak, a spear is basically a weak club with a very tiny amount of stabbing damage added. Further, since skill gain is based on damage done, you actually only gain bashing weapon skill for using a spear or knife. I confirmed both of these points with a bit of testing.

To summarize:
[list][li]The piercing skill is very difficult to raise.[/li]
[li]The piercing portion of damage is insignificant in piercing weapons.[/li]
[li]Most importantly, spears are actually just weak clubs*, whose piercing score you can basically ignore.[/li][/list]

Is this intentional, or just not implemented fully?

Also, this is a totally awesome game! Thank you, CDDA devs, for working so hard to make it awesome![/ul]

*Except when thrown. When thrown, a piercing weapon applies the full piercing score toward damage when it hits pointy-end first. So spears are poor in melee, but very deadly when thrown by a high-skill thrower.