CleverRaven/Cataclysm-DDA — pull request #2803 by swwu (2013-09-01 21:24:12+00:00)
Title: Energy weapons rework

Reworked visual effects etc on a bunch of energy weapons, see http://smf.cataclysmdda.com/index.php?topic=3061.0

The short version:
- added an `ammo_effects` field to weapons, which will be appended to the ammo's own `effects` field when the weapon is fired.
- added a `NO_AMMO` flag for weapons, which causes the weapon to not consume or require ammunition when fired.
- added `USE_UPS_20` and `USE_UPS_40` flags for weapons that drain 20/12 and 40/24 UPS energy per shot, respectively.
- UPS energy drain from weapons fire has been moved to the per-shot loop in `game::fire` so that burst-fired weapons with `USE_UPS` can drain the proper amount of energy.
- added a `pierce` field to weapons that is added to the ammo's `pierce` field when calculating armor reduction. It's optional in the JSON (defaults to 0 if not specified). Also added `item::gun_pierce(bool)`, which is essentially identical to `item::gun_damage(bool)` except it returns the pierce value.
- added plasma and laser weapon vfx, which uses `ammo_effects` and custom fields.
- `make_gun_sound_effect()` now makes different sounds for different volumes of energy weapons fire.
- all fusion pack weapons now use UPS power, and only the fusion gun still uses fusion packs as ammunition.
- tweaks to numbers in JSON for balance purposes.