Merge branch 'CHOMPStation2:master' into craft

This commit is contained in:
FluffMedic
2023-07-11 13:49:26 -04:00
committed by GitHub
661 changed files with 382838 additions and 65124 deletions

View File

@@ -1,5 +1,5 @@
/obj/item/weapon/flame/lighter/safesmzippo
name = "Supermatter Zippo"
/obj/item/weapon/flame/lighter/supermatter
name = "Hardlight Supermatter Zippo" // Base SM Lighter
desc = "State of the Art Supermatter Lighter."
description_fluff = "A zippo style lighter with a tiny supermatter sliver held by a hardlight shield. When lighting a cigar, make sure to hover the tip near the sliver, not against it!"
icon = 'icons/obj/zippo_ch.dmi'
@@ -8,8 +8,8 @@
activation_sound = 'modular_chomp/sound/items/open.ogg'
deactivation_sound = 'sound/items/zippo_off.ogg'
/obj/item/weapon/flame/lighter/syndismzippo
name = "Syndicate SM Zippo"
/obj/item/weapon/flame/lighter/supermatter/syndismzippo
name = "Phoron Supermatter Zippo" // Syndicate SM Lighter
desc = "State of the Art Supermatter Lighter."
description_fluff = "A red zippo style lighter with a tiny supermatter sliver held by a phoron field."
icon = 'icons/obj/zippo_ch.dmi'
@@ -18,8 +18,18 @@
activation_sound = 'modular_chomp/sound/items/open.ogg'
deactivation_sound = 'sound/items/zippo_off.ogg'
/obj/item/weapon/flame/lighter/supermatter/expsmzippo
name = "Experimental SM Lighter" // Dangerous WIP (admin/event only ATM)
desc = "State of the Art Supermatter Lighter"
description_fluff = "A unique take originating from the zippo design, a shard of supermatter placed within lead-lined walls. Cautious, VERY DANGEROUS do NOT touch!"
icon = 'icons/obj/zippo_ch.dmi'
icon_state = "ExpSMzippo"
item_state = "ExpSMzippo"
activation_sound = 'modular_chomp/sound/items/button-open.ogg'
deactivation_sound = 'modular_chomp/sound/items/button-close.ogg'
// safe smzippo
/obj/item/weapon/flame/lighter/safesmzippo/attack_self(mob/living/user)
/obj/item/weapon/flame/lighter/supermatter/attack_self(mob/living/user)
if(!base_state)
base_state = icon_state
if(!lit)
@@ -32,7 +42,7 @@
else
if(prob(95))
user.visible_message("<span class='notice'>After a few attempts, [user] manages to excite the supermatter within the [src].</span>")
else
else // Just like the cheap lighter, this time you can shock/burn yourself a little on the hardlight shield
to_chat(user, "<span class='warning'>You hurt yourself on the shielding!</span>")
if (user.get_left_hand() == src)
user.apply_damage(1,SEARING,"l_hand")
@@ -40,10 +50,10 @@
user.apply_damage(3,CLONE,"l_hand")
user.apply_damage(4,ELECTROMAG,"l_hand")
else
user.apply_damage(1,SEARING,"l_hand")
user.apply_damage(1,SEARING,"r_hand")
user.apply_damage(2,ELECTROCUTE,"r_hand")
user.apply_damage(3,CLONE,"r_hand")
user.apply_damage(4,ELECTROMAG,"l_hand")
user.apply_damage(4,ELECTROMAG,"r_hand")
user.visible_message("<span class='notice'>After a few attempts, [user] manages to activate the [src], they however sting themselves on the shielding!</span>")
set_light(2)
@@ -53,7 +63,7 @@
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
if(istype(src, /obj/item/weapon/flame/lighter/safesmzippo) )
if(istype(src, /obj/item/weapon/flame/lighter/supermatter) )
user.visible_message("<span class='rose'>You hear a quiet click, as [user] shuts the [src] without even looking at what they're doing.</span>")
else
user.visible_message("<span class='notice'>[user] quietly shuts the [src].</span>")
@@ -63,7 +73,7 @@
return
/obj/item/weapon/flame/lighter/safesmzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
/obj/item/weapon/flame/lighter/supermatter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
@@ -76,21 +86,21 @@
if(M == user)
cig.attackby(src, user)
else
if(istype(src, /obj/item/weapon/flame/lighter/zippo))
if(istype(src, /obj/item/weapon/flame/lighter/supermatter))
cig.light("<span class='rose'>[user] whips the [name] out and holds it for [M].</span>")
else
cig.light("<span class='notice'>[user] holds the [name] out for [M], and lights the [cig.name].</span>")
else
..()
/obj/item/weapon/flame/lighter/safesmzippo/process()
/obj/item/weapon/flame/lighter/supermatter/process()
var/turf/location = get_turf(src)
if(location)
location.hotspot_expose(700, 5)
return
// syndicate smzippo
/obj/item/weapon/flame/lighter/syndismzippo/attack_self(mob/living/user)
/obj/item/weapon/flame/lighter/supermatter/syndismzippo/attack_self(mob/living/user)
if(!base_state)
base_state = icon_state
if(!lit)
@@ -101,18 +111,18 @@
if(prob(50))
user.visible_message("<span class='rose'>[user] safely activates the [src] with a push of a button!</span>")
else
if(prob(99))
if(prob(95))
user.visible_message("<span class='notice'>After a few attempts, [user] manages to excite the supermatter within the [src].</span>")
else
else // Just like with the cheap lighter, but this time you can hurt yourself on the heated phoron field
to_chat(user, "<span class='warning'>You singe yourself on the phoron shielding the excited supermatter!</span>")
if (user.get_left_hand() == src)
user.apply_damage(30,HALLOSS,"l_hand")
user.apply_damage(20,CLONE,"l_hand")
user.apply_effect(20,IRRADIATE)
user.apply_damage(5,BURN,"l_hand")
user.apply_damage(5,ELECTROCUTE,"l_hand")
else
user.apply_damage(30,HALLOSS,"r_hand")
user.apply_damage(20,CLONE,"r_hand")
user.apply_effect(20,IRRADIATE)
user.apply_damage(5,BURN,"r_hand")
user.apply_damage(5,ELECTROCUTE,"r_hand")
user.visible_message("<span class='notice'>After a few attempts, [user] manages to activate the [src], they however burn themselves with the heated phoron field!</span>")
@@ -124,7 +134,7 @@
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
if(istype(src, /obj/item/weapon/flame/lighter/syndismzippo) )
if(istype(src, /obj/item/weapon/flame/lighter/supermatter/syndismzippo) )
user.visible_message("<span class='rose'>You hear a quiet click, as [user] shuts the [src] without even looking at what they're doing.</span>")
else
user.visible_message("<span class='notice'>[user] quietly shuts the [src].</span>")
@@ -134,7 +144,7 @@
return
/obj/item/weapon/flame/lighter/syndismzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
/obj/item/weapon/flame/lighter/supermatter/syndismzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
@@ -147,7 +157,7 @@
if(M == user)
cig.attackby(src, user)
else
if(istype(src, /obj/item/weapon/flame/lighter/syndismzippo))
if(istype(src, /obj/item/weapon/flame/lighter/supermatter/syndismzippo))
cig.light("<span class='rose'>[user] whips the [name] out and holds it for [M].</span>")
else
cig.light("<span class='notice'>[user] holds the [name] out for [M], and lights the [cig.name].</span>")
@@ -159,3 +169,169 @@
if(location)
location.hotspot_expose(700, 5)
return
// Experimental smzippo
/obj/item/weapon/flame/lighter/supermatter/expsmzippo/attack_self(mob/living/user)
if (!base_state)
base_state = icon_state
if (!lit)
lit = 1
icon_state = "[base_state]on"
item_state = "[base_state]on"
playsound(src, activation_sound, 75, 1)
var/i = rand(1, 100)
switch(i)
if(1 to 22)
to_chat("<span class='rose'>[user] safely reveals the supermatter shard within the [src]!</span>")
user.visible_message("<span class='rose'>You safely revealed the supermatter shard within the [src]!</span>")
if (user.get_left_hand() == src)
user.apply_damage(1, IRRADIATE, "l_hand")
else // Even using this safely will irradiate you a tiny tiny bit.
user.apply_damage(1, IRRADIATE, "r_hand")
if(23 to 33)
to_chat(user, "<span class='warning'>[user]'s hand slipped and they brush against the supermatter within [src]!</span>")
user.visible_message("<span class='notice'>You accidentally grazed your hand across the supermatter!</span>")
if (user.get_left_hand() == src)
user.apply_damage(10, IRRADIATE, "l_hand")
user.apply_damage(20, BURN, "l_hand")
user.apply_damage(20, ELECTROCUTE, "l_hand")
user.apply_damage(50, AGONY, "l_hand")
else // One of the outcomes will burn and shock you, the pain is the worst part of this one though.
user.apply_damage(10, IRRADIATE, "r_hand")
user.apply_damage(20, BURN, "r_hand")
user.apply_damage(20, ELECTROCUTE, "r_hand")
user.apply_damage(50, AGONY, "r_hand")
if(34 to 44)
to_chat(user, "<span class='warning'>[user] burned themselves on the [src]!</span>")
user.visible_message("<span class='notice'>You accidentally burn yourself on the [src]!</span>")
if (user.get_left_hand() == src)
user.apply_damage(30, IRRADIATE, "l_hand")
user.apply_damage(20, SEARING, "l_hand")
user.apply_damage(15, BURN, "l_hand")
else // One of the outcomes is pure burn and radiation.
user.apply_damage(30, IRRADIATE, "r_hand")
user.apply_damage(20, SEARING, "r_hand")
user.apply_damage(15, BURN, "r_hand")
if(45 to 55)
to_chat(user, "<span class='warning'>[user] fumbled the [src] and the supermatter let out sparks!</span>")
user.visible_message("<span class='notice'>You fumble the [src], letting the supermatter spark as the case opens!</span>")
if (user.get_left_hand() == src)
user.apply_damage(1, ELECTROCUTE, "l_hand")
user.apply_damage(100, ELECTROMAG, "l_hand")
else // This one is mostly dangerous to synthetics and it will EMP you. But otherwise it's safe.
user.apply_damage(1, ELECTROCUTE, "r_hand")
user.apply_damage(100, ELECTROMAG, "r_hand")
if(56 to 66)
to_chat(user, "<span class='warning'>[user] struggles to open their [src], but when they do they get burned by the extreme heat within!</span>")
user.visible_message("<span class='notice'>You struggle to get the case to open, and when it does the heat that pours out of the [src] burns!</span>")
if (user.get_left_hand() == src)
user.apply_damage(1, IRRADIATE, "l_hand")
user.apply_damage(1, BRUISE, "l_hand")
user.apply_damage(200, BURN, "l_hand")
user.drop_l_hand()
else // This will INSTA-DUST your hand that you're holding the item in, and then make you drop the lighter.
user.apply_damage(1, IRRADIATE, "r_hand")
user.apply_damage(1, BRUISE, "r_hand")
user.apply_damage(200, BURN, "r_hand")
user.drop_r_hand()
if(67 to 77)
to_chat(user, "<span class='warning'>Ouch! While pushing on the release to open the [src], [user]'s finger slipped right as the case opened, pressing their finger firm against the supermatter!</span>")
user.visible_message("<span class='notice'>You accidentally pushed your finger against the supermatter!</span>")
if (user.get_left_hand() == src)
user.apply_damage(50, HALLOSS, "l_hand")
user.apply_damage(40, IRRADIATE, "l_hand")
user.apply_damage(30, BURN, "l_hand")
user.apply_damage(20, TOX, "l_hand")
user.apply_damage(10, ELECTROCUTE, "l_hand")
user.apply_effect(25, STUTTER)
user.apply_effect(15, SLUR)
user.apply_effect(5, STUN)
else // This one is VERY punishing, you get a ton of damage, a lot of pain, and a minor stun. Once the stun goes away you'll be stuttering for awhile as if in crit.
user.apply_damage(50, HALLOSS, "r_hand")
user.apply_damage(40, IRRADIATE, "r_hand")
user.apply_damage(30, BURN, "r_hand")
user.apply_damage(20, TOX, "r_hand")
user.apply_damage(10, ELECTROCUTE, "r_hand")
user.apply_effect(25, STUTTER)
user.apply_effect(15, SLUR)
user.apply_effect(5, STUN)
if(78 to 88)
to_chat(user, "<span class='notice'>[user] managed to pinch themselves on the case of their [src]... it could have been worse.</span>")
user.visible_message("<span class='notice'>You manage to pinch yourself on the case!</span>")
if (user.get_left_hand() == src)
user.apply_damage(1, CLONE, "l_hand")
user.apply_damage(1, HALLOSS, "l_hand")
else // Aside from the base, this one isn't punishing outside of giving you genetic damage.
user.apply_damage(1, CLONE, "r_hand")
user.apply_damage(1, HALLOSS, "r_hand")
if(89 to 99)
to_chat(user, "<span class='notice'>[user] opened the [src] but forgot that you aren't supposed to look at supermatter!</span>")
user.visible_message("<span class='notice'>You find yourself looking at the supermatter for longer than you should...</span>")
if (user.get_left_hand() == src)
user.apply_damage(15, HALLOSS, "l_hand")
user.apply_effect(5, WEAKEN)
user.apply_damage(15, IRRADIATE, "l_hand")
user.apply_effect(100, EYE_BLUR)
user.apply_effect(50, AGONY)
user.apply_damage(5, OXY)
user.eye_blurry = 10
else // This one just blinds and blurs your screen, but otherwise doesn't actually risk harming you. Even the oxy damage heals on its own.
user.apply_damage(15, HALLOSS, "r_hand")
user.apply_effect(5, WEAKEN)
user.apply_damage(15, IRRADIATE, "l_hand")
user.apply_effect(100, EYE_BLUR)
user.apply_effect(50, AGONY)
user.apply_damage(15, OXY)
user.eye_blurry = 10
if(100) // This is the part that makes it admin only for the moment, it spawns 500 rads from the carbon's position, and dusts the carbon instantly. It does also drop everything unlike the supermatter crystal though, so hopefully you won't lose any items if you fumble this badly!
to_chat(user, "<span class='warning'>OH NO! [user] almost dropped their live [src]! Thank goodness they caught it... by the glowing yellow crystal... oh.</span>")
user.visible_message("<span class='danger'>You almost dropped your [src], thank goodness you caught it! By the glowing crystal within. You find your ears filled with unearthly ringing and your last thought is \"Oh, fuck.\"</span>")
user.drop_r_hand() // To ensure the lighter is dropped <3
user.drop_l_hand() // To ensure the lighter is dropped <3
for(var/obj/item/e in user)
user.drop_from_inventory(e)
log_and_message_admins("[user] dusted themselves and caused massive radiation with [src]!",user)
user.dust()
var/rads = 500
SSradiation.radiate(src, rads)
set_light(5)
START_PROCESSING(SSobj, src)
else
lit = 0
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
if (istype(src, /obj/item/weapon/flame/lighter/supermatter/expsmzippo))
user.visible_message("<span class='rose'>You hear a quiet click, as [user] closes the [src].</span>")
else
user.visible_message("<span class='notice'>[user] quietly shuts the [src].</span>")
set_light(0)
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/flame/lighter/supermatter/expsmzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if (!istype(M, /mob))
return
if (lit == 1)
M.IgniteMob()
add_attack_logs(user, M, "Lit on fire with [src]")
if (istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if (M == user)
cig.attackby(src, user)
else
if (istype(src, /obj/item/weapon/flame/lighter/supermatter/expsmzippo))
cig.light("<span class='rose'>[user] whips the [name] out and holds it for [M].</span>")
else
cig.light("<span class='notice'>[user] holds the [name] out for [M], and lights the [cig.name].</span>")
else
..()
/obj/item/weapon/flame/lighter/supermatter/expsmzippo/process()
var/turf/location = get_turf(src)
if (location)
location.hotspot_expose(700, 5)
return

View File

@@ -0,0 +1,339 @@
/obj/structure/closet/secure_closet/captains
name = "site manager's locker"
req_access = list(access_captain)
closet_appearance = /decl/closet_appearance/secure_closet/command
starts_with = list(
/obj/item/weapon/storage/backpack/dufflebag/captain,
/obj/item/clothing/head/helmet,
/obj/item/clothing/suit/storage/vest,
/obj/item/weapon/cartridge/captain,
/obj/item/weapon/storage/lockbox/medal,
/obj/item/device/radio/headset/heads/captain,
/obj/item/device/radio/headset/heads/captain/alt,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/melee/telebaton,
/obj/item/device/flash,
/obj/item/weapon/storage/box/ids)
/obj/structure/closet/secure_closet/hop
name = "head of personnel's locker"
req_access = list(access_hop)
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
starts_with = list(
/obj/item/clothing/suit/storage/vest,
/obj/item/clothing/head/helmet,
/obj/item/weapon/cartridge/hop,
/obj/item/device/radio/headset/heads/hop,
/obj/item/device/radio/headset/heads/hop/alt,
/obj/item/weapon/storage/box/ids = 2,
/obj/item/weapon/gun/energy/gun/compact,
/obj/item/weapon/storage/box/commandkeys,
/obj/item/weapon/storage/box/servicekeys,
/obj/item/device/flash)
/obj/structure/closet/secure_closet/hop2
name = "head of personnel's attire"
req_access = list(access_hop)
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
starts_with = list(
/obj/item/clothing/under/rank/head_of_personnel,
/obj/item/clothing/under/dress/dress_hop,
/obj/item/clothing/under/dress/dress_hr,
/obj/item/clothing/under/lawyer/female,
/obj/item/clothing/under/lawyer/black,
/obj/item/clothing/under/lawyer/black/skirt,
/obj/item/clothing/under/lawyer/red,
/obj/item/clothing/under/lawyer/red/skirt,
/obj/item/clothing/under/lawyer/oldman,
/obj/item/clothing/under/rank/neo_hop,
/obj/item/clothing/under/rank/neo_hop_skirt,
/obj/item/clothing/under/rank/neo_hop_parade_masc,
/obj/item/clothing/under/rank/neo_hop_parade_fem,
/obj/item/clothing/under/rank/neo_hop_turtle,
/obj/item/clothing/under/rank/neo_hop_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmd_gorka,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hopformal,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_civ_dep,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/shoes/white,
/obj/item/clothing/under/rank/head_of_personnel_whimsy,
/obj/item/clothing/head/caphat/hop,
/obj/item/clothing/under/suit_jacket/teal,
/obj/item/clothing/under/suit_jacket/teal/skirt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/suit/storage/hooded/wintercoat/hop,
/obj/item/clothing/head/caphat/hop/beret,
/obj/item/clothing/head/caphat/hop/beret/white)
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
req_access = list(access_hos)
storage_capacity = 2.5 * MOB_MEDIUM
closet_appearance = /decl/closet_appearance/secure_closet/security/hos
starts_with = list(
/obj/item/clothing/head/helmet/HoS,
/obj/item/clothing/head/helmet/HoS/hat,
/obj/item/clothing/suit/storage/vest/hos,
/obj/item/clothing/under/rank/head_of_security/jensen,
/obj/item/clothing/under/rank/head_of_security/corp,
/obj/item/clothing/suit/storage/vest/hoscoat/jensen,
/obj/item/clothing/suit/storage/vest/hoscoat,
/obj/item/clothing/head/helmet/dermal,
/obj/item/weapon/cartridge/hos,
/obj/item/device/radio/headset/heads/hos,
/obj/item/device/radio/headset/heads/hos/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/weapon/shield/riot,
/obj/item/weapon/shield/riot/tele,
/obj/item/weapon/storage/box/holobadge/hos,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/tool/crowbar/red,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/belt/security,
/obj/item/device/flash,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos,
/obj/item/weapon/rcd_ammo/large,
/obj/item/weapon/cell/device/weapon,
/obj/item/clothing/accessory/holster/waist,
/obj/item/weapon/melee/telebaton,
/obj/item/clothing/head/beret/sec/corporate/hos,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/suit/storage/hooded/wintercoat/security/hos,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/clothing/mask/gas/half,
/obj/item/clothing/mask/gas/sechailer/swat/hos)
/obj/structure/closet/secure_closet/hos/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
return ..()
/obj/structure/closet/secure_closet/warden
name = "warden's locker"
storage_capacity = 42
req_access = list(access_armory)
closet_appearance = /decl/closet_appearance/secure_closet/security/warden
starts_with = list(
/obj/item/clothing/suit/storage/vest/warden,
/obj/item/clothing/under/rank/warden,
/obj/item/clothing/under/rank/warden/corp,
/obj/item/clothing/suit/storage/vest/wardencoat,
/obj/item/clothing/suit/storage/vest/wardencoat/alt,
/obj/item/clothing/suit/storage/vest/wardencoat/alt2, //VOREStation Add,
/obj/item/clothing/head/helmet/dermal,
/obj/item/clothing/head/helmet/warden,
/obj/item/clothing/head/helmet/warden/hat,
/obj/item/clothing/under/rank/neo_warden_red,
/obj/item/clothing/under/rank/neo_warden_red_skirt,
/obj/item/clothing/under/rank/neo_warden_blue,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_bluewarden,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_warden_heavy,
/obj/item/clothing/under/rank/neo_sec_gorka,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/badge/holo/warden,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/belt/security,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/cell/device/weapon,
/obj/item/weapon/storage/box/holobadge,
/obj/item/clothing/head/beret/sec/corporate/warden,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/device/megaphone,
/obj/item/clothing/mask/gas/sechailer/swat/warden,
/obj/item/weapon/gun/projectile/revolvershotgun,
/obj/item/ammo_magazine/m12gdrumjack/beanbag,
/obj/item/ammo_magazine/m12gdrumjack/beanbag,
/obj/item/device/ticket_printer, //CHOMPStation addition
/obj/item/device/retail_scanner/security //CHOMPStation addition
)
/obj/structure/closet/secure_closet/warden/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
return ..()
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(access_brig)
closet_appearance = /decl/closet_appearance/secure_closet/security
starts_with = list(
/obj/item/clothing/suit/storage/vest/officer,
/obj/item/clothing/head/helmet,
/obj/item/clothing/mask/gas/sechailer/swat/officer,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/weapon/storage/belt/security,
/obj/item/device/flash,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/grenade/flashbang,
/obj/item/weapon/melee/baton/loaded,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/device/hailer,
/obj/item/device/flashlight/flare,
/obj/item/clothing/accessory/storage/black_vest,
/obj/item/clothing/head/soft/sec/corp,
/obj/item/clothing/under/rank/security/corp,
/obj/item/ammo_magazine/m45/rubber,
/obj/item/weapon/gun/energy/taser,
/obj/item/weapon/cell/device/weapon,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/device/holowarrant, //CHOMPStation addition
/obj/item/device/retail_scanner/security, //CHOMPStation addition
/obj/item/clothing/glasses/hud/security, //CHOMPStation addition
/obj/item/device/ticket_printer //CHOMPStation addition
)
/obj/structure/closet/secure_closet/security/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
if(prob(30))
starts_with += /obj/item/poster/nanotrasen
return ..()
/obj/structure/closet/secure_closet/security/cargo/Initialize()
starts_with += /obj/item/clothing/accessory/armband/cargo
starts_with += /obj/item/device/encryptionkey/headset_cargo
return ..()
/obj/structure/closet/secure_closet/security/engine/Initialize()
starts_with += /obj/item/clothing/accessory/armband/engine
starts_with += /obj/item/device/encryptionkey/headset_eng
return ..()
/obj/structure/closet/secure_closet/security/science/Initialize()
starts_with += /obj/item/clothing/accessory/armband/science
starts_with += /obj/item/device/encryptionkey/headset_sci
return ..()
/obj/structure/closet/secure_closet/security/med/Initialize()
starts_with += /obj/item/clothing/accessory/armband/medblue
starts_with += /obj/item/device/encryptionkey/headset_med
return ..()
/obj/structure/closet/secure_closet/detective
name = "detective's cabinet"
req_access = list(access_forensics_lockers)
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/accessory/badge/holo/detective,
/obj/item/clothing/gloves/forensic, //CHOMP Edit replaces black gloves
/obj/item/gunbox, //CHOMP Edit undoes vorestation removal and adds back gunbox
/obj/item/gunbox/stun,
/obj/item/weapon/storage/belt/detective,
/obj/item/weapon/storage/box/evidence,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/clothing/suit/storage/vest/detective,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/holster/armpit,
/obj/item/device/flashlight/maglight,
/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,
/obj/item/weapon/storage/briefcase/crimekit,
/obj/item/device/taperecorder,
/obj/item/weapon/storage/bag/detective,
/obj/item/device/tape/random = 3,
/obj/item/device/retail_scanner/security, //CHOMPStation addition
/obj/item/clothing/glasses/hud/security //CHOMPStation addition
)
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(access_captain)
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
starts_with = list(
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral = 2)
GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(access_brig)
closet_appearance = /decl/closet_appearance/secure_closet/brig
anchored = TRUE
var/id = null
starts_with = list(
/obj/item/clothing/under/color/prison,
/obj/item/clothing/shoes/orange)
/obj/structure/closet/secure_closet/posters
name = "morale storage"
req_access = list(access_security)
anchored = TRUE
starts_with = list(
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(access_lawyer)
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
starts_with = list(
/obj/item/clothing/shoes/brown,
/obj/item/weapon/paper/Court = 3,
/obj/item/weapon/pen,
/obj/item/clothing/suit/judgerobe,
/obj/item/clothing/head/powdered_wig,
/obj/item/weapon/storage/briefcase)
/obj/structure/closet/secure_closet/wall
name = "wall locker"
req_access = list(access_security)
closet_appearance = /decl/closet_appearance/wall
density = TRUE
//too small to put a man in
large = 0