Changes:
- Code copied over to hud.dm and commented out, to prep for upstream pull.
- Commented-out, unused code removed.
- CHOMPEdits removed, pending upstream PR.
- Medigun no longer shows 2x the actual ammo loaded.
- Curabitur now fetches the amount of shots correctly, bar 1 extra for some reason.
- Curabitur ammo updates on automatic recharge ticks.
- A ton of projectile get_ammo_count optimization - mostly swaps the massive if/else for for loops. Fixes multiple guns not getting ammo properly, now casings won't register as ammo unless they have a shell in the casing.
- hud_state_empty defined as base on all bullets.
- Corrects energy weapons missing a hud_state_empty.
- Gives Ion weapons a hud_state_empty
All changes have been tested, and bar the Curabitur having an extra shot for ??? reason, which is a base bug I've yet to fix, this is entirely ready for testmerge.
- Fixes all projectile guns not having an empty state after unloading the gun via various methods
- Fixes stun revolver not having an empty sprite
- Fixes self-charging guns not updating ammo counts
Still needing fixes:
- Revolvers do not update ammo counts after firing, only on emptying the gun/adding new shells.
Uzi uses new sprite + tilts now.
Sec pistols use new sprite
Energy Gun uses new sprite.
C20r uses new sprite.
L6 SAW uses new sprite.
Ion Rifle uses new sprite.
Z8 Bulldog uses new sprite.
WT-550 uses new sprite.
Resolves https://github.com/CHOMPStation2/CHOMPStation2/issues/3068
Serdy will add Stetchkin, PPK + PPK Light later.
Gun firemodes now work by setting vars on the parent gun item. Removes the
need to unpack a bunch of firemode values when shooting and the need for
certain guns to define special firemode types.
- Replaces the creation of throwaway items from New() with initial() calls for all chameleon items.
- Unfortunately throwaway items could not be removed when switch appearance, as initial() does not work very will with list vars.
- Makes chameleon item name cache lists global.
- Makes chameleon guns a subtype of energy guns, removes chameleon magazines.
- Moves chameleon.dm to clothing module root
- Items without icon or icon_state are no longer selectable as chameleon appearances.
- Chameleon verbs go in their own panel.
In particular, charge costs were chosen so that mounted energy guns
drain 80% of a default rig's power cell in 40 shots, and mounted laser
cannons drain the same in 20 shots.
Adds a type of smaller power cell for powering devices. Not used by much
at the moment, but it's one step closer to a more coherent picture of
power cells.