SupSuper/OpenXcom — pull request #938 by Yankes (2014-08-29 17:29:38+00:00)
Title: Unified damage types

Refactored and improved damage types.
I removed most special handling of different damage types, only thing that left is fire and smoke generate by blast. I made decision not use `bool` to alter damage types, I choose use `float` because it give more flexibility for mods (like real armor piercing AP ammo or dumdum bullets).

Some important changes/fix compared to basic version:
* Explosion dont remove unconscious body if it didnt kill unconscious unit first.
* Using range weapon as melee use DT_MELEE not DT_STUN damage.
* Explosion now record `killedBy` if it wound target.
* Explosion now change morale of affected units.
* Explosion dont steal `setExplosive` of other explosions.

Available options per item:
* damageAlter
* FixRadius //aka BlastRadius
* RandomType //how roll damage range, UFO or TFTD style or default.
* ResistType //what resist on unit use, and if is fire or smoke it spawn that.
* FireBlastCalc //fire had special way of calculating blast.
* IgnoreDirection //damage ignore direction of hit, used by smoke and fire.
* IgnoreSelfDestruct //do killing using this damage ignore self destruct of unit.
* IgnorePainImmunity //big unit dont get stun level form damage.
* ArmorEffectiveness //how much armor is effective against this damage.
* RadiusEffectiveness //how power translate to splash radius.
* ToHealth //how much damage is done to health, can be negative.
* ToArmor //how much damage is done to armor.
* ToWound //determine probability of wounds.
* ToItem //how much power is apply to items.
* ToTile //how much power is apply to ground.
* ToStun //chow much damage increase stun level.