I think the different kinds of weapons and ammunition could do with a little more variability.
- traditional bullet weapons should be able to stun and throw back
conventional weapons that use bullets (at more-or-less high velocities) transfer a lot of kinetic energy to the target. this should be able to cause stun damage (even when not hitting the head). also, it should be possible to push the target back, perhaps only if a certain damage threshold is crossed? or, to account for strong and large units, if more than a certain percentage of maximum health has been exceeded?
- plasma weapons should cause fires
it's super-heated matter! 'nuff said! if an alien fires a large plasma
through a wheat tile, the tile should be on fire afterward. this would cause nice little paths of destruction, even giving you a possibility to locate the alien
- laser weapons should penetrate
admittedly, this is debatable. if you argue that laser weapons use short laser pulses, they will only cause "simple" damage.
but if they use longer beams like the laser "bullet" sprite implies, they should be able to penetrate stuff - especially wooden walls and the like. we might even make it so that you
cannot destroy objects with a laser (you would only burn holes through them, but wouldn't be able to destroy them entirely), but the beam passes through them, losing only a part of it's strength. it would add to the strategy part of the game, because you would need to bring other weapons if you want to shoot down walls, but could possibly kill enemies behind walls without them ever seeing you - if your laser is strong enough (Heavy Laser returns as a useful weapon...)
- explosions should push
the shockwave of an explosion should be able to move units and objects outward, if it doesn't destroy them.
- stun rod should cause damage. real damage.
the cattle prod should be able to electrocute units to death. and alien units should recover from stun damage more rapidly. catching aliens alive and keeping them alive-but-subdued should be made harder
effectively, I think we could do this with additional weapon damage variables:
"objectDamage" - a multiplier: after actual damage is determined, damage to objects is multiplied by this. 0 means "weapon doesn't damage objects", 0.1 means only 1/10th of damage is being done if the target being hit is an object and so on.
"damagePenetration" - a multiplier: bullet will continue with damage*damagePenetration strength after hitting whatever has been hit, if damage would have been sufficient to kill or destroy the target. shouldn't be 1 or above, to avoid weird effects. default (vanilla) behaviour is "0" - bullet stops (even if it was a large plasma blast that hit a wooden chair).
"kineticEffect" - a boolean: if "1", the game will check damage imparted vs. maximum health of target and see if the item/unit/object is being pushed away from point of origin (and, possibly, how far). or possibly even a multiplier, to tune this effect for different weapon types... shotgun comes to mind, with a lot of kinetic effect. Plasma, on the other hand, shouldn't have a kinetic effect - all it does is burn. extemely so, but no kinetic effect.
"burnEffect" - another boolean: if "1", bullet will cause incendiary damage to tiles it passes through
what do you think?