Continuing with the offtopic discussion of weapon balance...
If it's hit by a coilgun with 30AP and 20 damage, the effective DR is 0 (or you can even add bonus damage) so the shot does full 30 damage (or 40). Technicly you could model overpenetration.
Overpenetration is modeled by simply setting damage to 50
No need for special bonus damages or redundant code to check wild corner cases.
But I do think that an armor piercing value would be useful, and then armor can be drastically simplified as well.
@maackey: the main reason we have the damage weights (spray, light, medium, heavy, etc.) is to be able to model armour.
No, the main reason we have damage weights is because that was how they were first implemented, and noone has yet to change them to a better model
I know that I'm coming into this from a fresh-slate perspective, while you are probably very used to the existing system and know its intricacies inside and out. I don't want to barge in and start telling everyone how to do things my way (the correct way
), but just give some fresh perspective from someone who isn't tied up in the existing system. I've tried a few times to go through the code and change stuff, but the documentation is incredibly sparse, and I wouldn't want to work on something that gets immediately rejected because it'd be too radical of a change (happened before, don't want to go through that again...) without some consensus first.
Having separate damage weights allows us to model the effectiveness of armour differently for different weapons.
This is 100% true. But its also 100% garbage. What is the **reason** for armor acting differently for different weapon types? I know the game has flavor text in regards to things like lasers and fire and explosions and stuff, but having the sniper rifle react completely independent of an assault rifle is flat out retarded. I'm sorry, that makes no sense to me from the perspective of a player or a developer, and doesn't contribute to realism in the slightest. There are LOADS of other ways to balance weapons irrespective of damage type! Reload time, ammo capacity, rate of fire, weight, size, accuracy... I could go on and on. What is the reason to have it but for added complexity and confusion (and the lazyness of the devs to change something already "done"
)?
You mentioned re-writing the engine, but doesn't the engine already support armor piercing? If so, no engine work is needed and fixing the damages only requires editing the configs to get rid of the redundant armor categories and minor changes to weapon stats.