Greatly decreases the number of objects that need to be created (currently 3 event handlers in total vs basically 3 per datum)
The price is a slower lookup of listeners but on a per round basis it should still be much less than the current startup time penalty.
Also corrects the in-view logic. Now checks if the aimer can see the target, not if the target is within a given radius. Fixes#11926.
Cleans up Destroy() code a bit.
Corrects a number of places where New() did not call ..(), and implements similar changes to attempt to ensure New()/initialize() complete running before qdel() runs.
Cuts down on the number of created items during server start.
Collection of Security changes:
New heavy vest sprites, replacing the old toggle system.
New helmet sprites.
Heavy vests reduced to 2 pockets.
Regular vests have no pockets.
Holobadge sprite change and badge addition for HoS/Warden.
Teargas Grenades, replace flashbangs in vendor and officer lockers,
flashbangs located in armory and with warden.
Detective 1911 starts with flash magazine, has one rubber magazine in
locker.
Rubber bullet damage halved to reduce frequency of bone breakage and IB.
Flash bullet buffed to cause small halloss.
Armory loadout changed to static 4 e-guns, 4 laser guns, 2 ion rifles, 2
shotguns starting loaded with beanbags, 4 Mk 58s loaded with flash
rounds.
Tactical armor removed, still available in cargo.
Sub-Armory restored to warden access only, officer access storage rack
added.
Now with Changelog.
Threads and Polls located here:
http://baystation12.net/forums/threads/discussion-poll-security-energy-weapons-antag-projectile-weapons.932/http://baystation12.net/forums/threads/discussion-poll-detective-weapon.865/http://baystation12.net/forums/threads/discussion-armory.792/http://baystation12.net/forums/threads/discussion-security-vest-and-helmet.790/
Quick Fix
modified: code/datums/supplypacks.dm
modified: code/game/machinery/vending.dm
modified: code/game/objects/items/devices/uplink_items.dm
modified: code/game/objects/items/weapons/grenades/chem_grenade.dm
modified: code/game/objects/items/weapons/storage/boxes.dm
modified: code/game/objects/structures/crates_lockers/closets/secure/security.dm
modified: code/modules/clothing/suits/armor.dm
modified: code/modules/clothing/suits/storage.dm
modified: code/modules/clothing/under/accessories/badges.dm
modified: code/modules/projectiles/guns/projectile/pistol.dm
modified: code/modules/projectiles/projectile/bullets.dm
modified: code/modules/projectiles/projectile/energy.dm
modified: code/modules/random_map/drop/drop_types.dm
new file: html/changelogs/Raptor1628-Dev.yml
modified: icons/mob/belt.dmi
modified: icons/mob/head.dmi
modified: icons/mob/suit.dmi
modified: icons/mob/ties.dmi
modified: icons/obj/clothing/hats.dmi
modified: icons/obj/clothing/suits.dmi
modified: icons/obj/clothing/ties.dmi
modified: maps/exodus-1.dmm
modified: maps/exodus-2.dmm
Clothes now have a flash protection and tint level. If one is wearing multiple items with these modifiers they do stack.
Glasses also have a number of additional additions such as sight flags, see_invis level, and so forth.
Flash protection comes in 4 levels: Reduced, none, moderate, major.
Reduced protection, for example, means the user takes increased damaged from welding.
Moderate protection safeguards mobs from flashes, flash grenades, projectors, etc.
Major protection protects from the above as well as welding.
Tint also comes in 4 levels: None, moderate, heavy, blind
Moderate tint will apply the nearsighted overlay.
Major tint will apply the welding overlay.
Blind will apply the blindness overlay.
The end result is an attempt of less type checking. Any set of glasses may now also contain HUD glasses.
This should make a future rewrite of HUD glasses easier (could have the HUD functionality be a datum rather than separate item).