diff --git a/code/game/objects/items/poi_items.dm b/code/game/objects/items/poi_items.dm
index 64eaa2977e..85a8b27854 100644
--- a/code/game/objects/items/poi_items.dm
+++ b/code/game/objects/items/poi_items.dm
@@ -28,14 +28,8 @@
icon_closed = "poireactor"
climbable = 0
-/obj/structure/closet/crate/oldreactor/New()
- ..()
- new /obj/item/weapon/fuel_assembly/deuterium(src)
- new /obj/item/weapon/fuel_assembly/deuterium(src)
- new /obj/item/weapon/fuel_assembly/deuterium(src)
- new /obj/item/weapon/fuel_assembly/deuterium(src)
- new /obj/item/weapon/fuel_assembly/deuterium(src)
- new /obj/item/weapon/fuel_assembly/deuterium(src)
+ starts_with = list(
+ /obj/item/weapon/fuel_assembly/deuterium = 6)
/obj/item/poi/brokenoldreactor
icon_state = "poireactor_broken"
@@ -58,8 +52,8 @@
/obj/structure/largecrate/animal/crashedshuttle
name = "SCP"
-/obj/structure/largecrate/animal/crashedshuttle/New()
- held_type = pick(/mob/living/simple_animal/hostile/statue, /obj/item/cursed_marble)
+/obj/structure/largecrate/animal/crashedshuttle/initialize()
+ starts_with = pick(/mob/living/simple_animal/hostile/statue, /obj/item/cursed_marble)
name = pick("Spicy Crust Pizzeria", "Soap and Care Products", "Sally's Computer Parts", "Steve's Chocolate Pastries", "Smith & Christian's Plastics","Standard Containers & Packaging Co.", "Sanitary Chemical Purgation (LTD)")
name += " delivery crate"
- ..()
+ return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 9ca1ab51a5..89f879323a 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -21,12 +21,13 @@
var/store_items = 1
var/store_mobs = 1
- var/list/will_contain
+ var/list/starts_with
/obj/structure/closet/initialize()
. = ..()
- if(will_contain)
- create_objects_in_loc(src, will_contain)
+ if(starts_with)
+ create_objects_in_loc(src, starts_with)
+ starts_with = null
if(!opened) // if closed, any item at the crate's loc is put in the contents
var/obj/item/I
diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
index 0af7913df8..96b0030d21 100644
--- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
@@ -14,91 +14,65 @@
var/locked = 1
var/smashed = 0
- New()
- ..()
- fireaxe = new /obj/item/weapon/material/twohanded/fireaxe(src)
+ starts_with = list(/obj/item/weapon/material/twohanded/fireaxe)
- attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
- //..() //That's very useful, Erro
+/obj/structure/closet/fireaxecabinet/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
+ //..() //That's very useful, Erro
- // This could stand to be put further in, made better, etc. but fuck you. Fuck whoever
- // wrote this code. Fuck everything about this object. I hope you step on a Lego.
- user.setClickCooldown(10)
- // Seriously why the fuck is this even a closet aghasjdhasd I hate you
+ // This could stand to be put further in, made better, etc. but fuck you. Fuck whoever
+ // wrote this code. Fuck everything about this object. I hope you step on a Lego.
+ user.setClickCooldown(10)
+ // Seriously why the fuck is this even a closet aghasjdhasd I hate you
- var/hasaxe = 0 //gonna come in handy later~ // FUCK YOUR TILDES.
- if(fireaxe)
- hasaxe = 1
+ var/hasaxe = 0 //gonna come in handy later~ // FUCK YOUR TILDES.
+ if(fireaxe)
+ hasaxe = 1
- if (isrobot(usr) || src.locked)
- if(istype(O, /obj/item/device/multitool))
- user << "Resetting circuitry..."
- playsound(user, 'sound/machines/lockreset.ogg', 50, 1)
- if(do_after(user, 20 * O.toolspeed))
- src.locked = 0
- to_chat(user, " You disable the locking modules.")
- update_icon()
- return
- else if(istype(O, /obj/item/weapon))
- var/obj/item/weapon/W = O
- if(src.smashed || src.localopened)
- if(localopened)
- localopened = 0
- icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
- return
- else
- playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time
- if(W.force < 15)
- to_chat(user, "The cabinet's protective glass glances off the hit.")
- else
- src.hitstaken++
- if(src.hitstaken == 4)
- playsound(user, 'sound/effects/Glassbr3.ogg', 100, 1) //Break cabinet, receive goodies. Cabinet's fucked for life after that.
- src.smashed = 1
- src.locked = 0
- src.localopened = 1
+ if (isrobot(usr) || src.locked)
+ if(istype(O, /obj/item/device/multitool))
+ user << "Resetting circuitry..."
+ playsound(user, 'sound/machines/lockreset.ogg', 50, 1)
+ if(do_after(user, 20 * O.toolspeed))
+ src.locked = 0
+ to_chat(user, " You disable the locking modules.")
update_icon()
return
- if (istype(O, /obj/item/weapon/material/twohanded/fireaxe) && src.localopened)
- if(!fireaxe)
- if(O:wielded)
- O:wielded = 0
- O.update_icon()
- //to_chat(user, "Unwield the axe first.")
- //return
- fireaxe = O
- user.remove_from_mob(O)
- src.contents += O
- to_chat(user, "You place the fire axe back in the [src.name].")
- update_icon()
- else
- if(src.smashed)
- return
- else
- localopened = !localopened
- if(localopened)
- icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
- else
- icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
- else
- if(src.smashed)
- return
- if(istype(O, /obj/item/device/multitool))
+ else if(istype(O, /obj/item/weapon))
+ var/obj/item/weapon/W = O
+ if(src.smashed || src.localopened)
if(localopened)
localopened = 0
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
- return
- else
- to_chat(user, "Resetting circuitry...")
- playsound(user, 'sound/machines/lockenable.ogg', 50, 1)
- if(do_after(user,20 * O.toolspeed))
- src.locked = 1
- to_chat(user, " You re-enable the locking modules.")
- return
+ return
+ else
+ playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time
+ if(W.force < 15)
+ to_chat(user, "The cabinet's protective glass glances off the hit.")
+ else
+ src.hitstaken++
+ if(src.hitstaken == 4)
+ playsound(user, 'sound/effects/Glassbr3.ogg', 100, 1) //Break cabinet, receive goodies. Cabinet's fucked for life after that.
+ src.smashed = 1
+ src.locked = 0
+ src.localopened = 1
+ update_icon()
+ return
+ if (istype(O, /obj/item/weapon/material/twohanded/fireaxe) && src.localopened)
+ if(!fireaxe)
+ if(O:wielded)
+ O:wielded = 0
+ O.update_icon()
+ //to_chat(user, "Unwield the axe first.")
+ //return
+ fireaxe = O
+ user.remove_from_mob(O)
+ src.contents += O
+ to_chat(user, "You place the fire axe back in the [src.name].")
+ update_icon()
+ else
+ if(src.smashed)
+ return
else
localopened = !localopened
if(localopened)
@@ -107,108 +81,129 @@
else
icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
spawn(10) update_icon()
-
-
-
-
- attack_hand(mob/user as mob)
-
- var/hasaxe = 0
- if(fireaxe)
- hasaxe = 1
-
- if(src.locked)
- to_chat(user, "The cabinet won't budge!")
- return
- if(localopened)
- if(fireaxe)
- user.put_in_hands(fireaxe)
- fireaxe = null
- to_chat (user, "You take the fire axe from the [name].")
- src.add_fingerprint(user)
- update_icon()
- else
- if(src.smashed)
- return
- else
- localopened = !localopened
- if(localopened)
- src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
- else
- src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
-
- else
- localopened = !localopened //I'm pretty sure we don't need an if(src.smashed) in here. In case I'm wrong and it fucks up teh cabinet, **MARKER**. -Agouri
- if(localopened)
- src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
- else
- src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
- spawn(10) update_icon()
-
- attack_tk(mob/user as mob)
- if(localopened && fireaxe)
- fireaxe.forceMove(loc)
- to_chat(user, "You telekinetically remove the fire axe.")
- fireaxe = null
- update_icon()
- return
- attack_hand(user)
-
- verb/toggle_openness() //nice name, huh? HUH?! -Erro //YEAH -Agouri
- set name = "Open/Close"
- set category = "Object"
-
- if (isrobot(usr) || src.locked || src.smashed)
- if(src.locked)
- to_chat(usr, "The cabinet won't budge!")
- else if(src.smashed)
- to_chat(usr, "The protective glass is broken!")
- return
-
- localopened = !localopened
- update_icon()
-
- verb/remove_fire_axe()
- set name = "Remove Fire Axe"
- set category = "Object"
-
- if (isrobot(usr))
- return
-
- if (localopened)
- if(fireaxe)
- usr.put_in_hands(fireaxe)
- fireaxe = null
- to_chat(usr, "You take the Fire axe from the [name].")
- else
- to_chat(usr, "The [src.name] is empty.")
- else
- to_chat(usr, "The [src.name] is closed.")
- update_icon()
-
- attack_ai(mob/user as mob)
+ else
if(src.smashed)
- to_chat(user, "The security of the cabinet is compromised.")
return
- else
- locked = !locked
- if(locked)
- to_chat(user, "Cabinet locked.")
+ if(istype(O, /obj/item/device/multitool))
+ if(localopened)
+ localopened = 0
+ icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
+ return
else
- to_chat(user, "Cabinet unlocked.")
- return
+ to_chat(user, "Resetting circuitry...")
+ playsound(user, 'sound/machines/lockenable.ogg', 50, 1)
+ if(do_after(user,20 * O.toolspeed))
+ src.locked = 1
+ to_chat(user, " You re-enable the locking modules.")
+ return
+ else
+ localopened = !localopened
+ if(localopened)
+ icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
+ else
+ icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
- update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers
- var/hasaxe = 0
+
+/obj/structure/closet/fireaxecabinet/attack_hand(mob/user as mob)
+ var/hasaxe = 0
+ if(fireaxe)
+ hasaxe = 1
+
+ if(src.locked)
+ to_chat(user, "The cabinet won't budge!")
+ return
+ if(localopened)
if(fireaxe)
- hasaxe = 1
- icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ user.put_in_hands(fireaxe)
+ fireaxe = null
+ to_chat (user, "You take the fire axe from the [name].")
+ src.add_fingerprint(user)
+ update_icon()
+ else
+ if(src.smashed)
+ return
+ else
+ localopened = !localopened
+ if(localopened)
+ src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
+ else
+ src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
- open()
+ else
+ localopened = !localopened //I'm pretty sure we don't need an if(src.smashed) in here. In case I'm wrong and it fucks up teh cabinet, **MARKER**. -Agouri
+ if(localopened)
+ src.icon_state = text("fireaxe[][][][]opening",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
+ else
+ src.icon_state = text("fireaxe[][][][]closing",hasaxe,src.localopened,src.hitstaken,src.smashed)
+ spawn(10) update_icon()
+
+/obj/structure/closet/fireaxecabinet/attack_tk(mob/user as mob)
+ if(localopened && fireaxe)
+ fireaxe.forceMove(loc)
+ to_chat(user, "You telekinetically remove the fire axe.")
+ fireaxe = null
+ update_icon()
+ return
+ attack_hand(user)
+
+/obj/structure/closet/fireaxecabinet/verb/toggle_openness() //nice name, huh? HUH?! -Erro //YEAH -Agouri
+ set name = "Open/Close"
+ set category = "Object"
+
+ if (isrobot(usr) || src.locked || src.smashed)
+ if(src.locked)
+ to_chat(usr, "The cabinet won't budge!")
+ else if(src.smashed)
+ to_chat(usr, "The protective glass is broken!")
return
- close()
+ localopened = !localopened
+ update_icon()
+
+/obj/structure/closet/fireaxecabinet/verb/remove_fire_axe()
+ set name = "Remove Fire Axe"
+ set category = "Object"
+
+ if (isrobot(usr))
return
+
+ if (localopened)
+ if(fireaxe)
+ usr.put_in_hands(fireaxe)
+ fireaxe = null
+ to_chat(usr, "You take the Fire axe from the [name].")
+ else
+ to_chat(usr, "The [src.name] is empty.")
+ else
+ to_chat(usr, "The [src.name] is closed.")
+ update_icon()
+
+/obj/structure/closet/fireaxecabinet/attack_ai(mob/user as mob)
+ if(src.smashed)
+ to_chat(user, "The security of the cabinet is compromised.")
+ return
+ else
+ locked = !locked
+ if(locked)
+ to_chat(user, "Cabinet locked.")
+ else
+ to_chat(user, "Cabinet unlocked.")
+ return
+
+/obj/structure/closet/fireaxecabinet/update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers
+ var/hasaxe = 0
+ if(fireaxe)
+ hasaxe = 1
+ icon_state = text("fireaxe[][][][]",hasaxe,src.localopened,src.hitstaken,src.smashed)
+
+/obj/structure/closet/fireaxecabinet/open()
+ return
+
+/obj/structure/closet/fireaxecabinet/close()
+ return
diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm
index 4e31b9e05c..c261d8d2f6 100644
--- a/code/game/objects/structures/crates_lockers/closets/fitness.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm
@@ -4,49 +4,41 @@
icon_state = "mixed"
icon_closed = "mixed"
-/obj/structure/closet/athletic_mixed/New()
- ..()
- new /obj/item/clothing/under/shorts/grey(src)
- new /obj/item/clothing/under/shorts/black(src)
- new /obj/item/clothing/under/shorts/red(src)
- new /obj/item/clothing/under/shorts/blue(src)
- new /obj/item/clothing/under/shorts/green(src)
- new /obj/item/clothing/under/swimsuit/red(src)
- new /obj/item/clothing/under/swimsuit/black(src)
- new /obj/item/clothing/under/swimsuit/blue(src)
- new /obj/item/clothing/under/swimsuit/green(src)
- new /obj/item/clothing/under/swimsuit/purple(src)
- new /obj/item/clothing/under/swimsuit/striped(src)
- new /obj/item/clothing/under/swimsuit/white(src)
- new /obj/item/clothing/under/swimsuit/earth(src) //Maybe at some point make it randomly choose swimsuits, so that it doesn't overflow as we add more.
- new /obj/item/clothing/mask/snorkel(src)
- new /obj/item/clothing/mask/snorkel(src)
- new /obj/item/clothing/shoes/swimmingfins(src)
- new /obj/item/clothing/shoes/swimmingfins(src)
-
-
+ starts_with = list(
+ /obj/item/clothing/under/shorts/grey,
+ /obj/item/clothing/under/shorts/black,
+ /obj/item/clothing/under/shorts/red,
+ /obj/item/clothing/under/shorts/blue,
+ /obj/item/clothing/under/shorts/green,
+ /obj/item/clothing/under/swimsuit/red,
+ /obj/item/clothing/under/swimsuit/black,
+ /obj/item/clothing/under/swimsuit/blue,
+ /obj/item/clothing/under/swimsuit/green,
+ /obj/item/clothing/under/swimsuit/purple,
+ /obj/item/clothing/under/swimsuit/striped,
+ /obj/item/clothing/under/swimsuit/white,
+ /obj/item/clothing/under/swimsuit/earth,
+ /obj/item/clothing/mask/snorkel = 2,
+ /obj/item/clothing/shoes/swimmingfins = 2)
/obj/structure/closet/boxinggloves
name = "boxing gloves"
desc = "It's a storage unit for gloves for use in the boxing ring."
-/obj/structure/closet/boxinggloves/New()
- ..()
- new /obj/item/clothing/gloves/boxing/blue(src)
- new /obj/item/clothing/gloves/boxing/green(src)
- new /obj/item/clothing/gloves/boxing/yellow(src)
- new /obj/item/clothing/gloves/boxing(src)
-
+ starts_with = list(
+ /obj/item/clothing/gloves/boxing/blue,
+ /obj/item/clothing/gloves/boxing/green,
+ /obj/item/clothing/gloves/boxing/yellow,
+ /obj/item/clothing/gloves/boxing)
/obj/structure/closet/masks
name = "mask closet"
desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!"
-/obj/structure/closet/masks/New()
- ..()
- new /obj/item/clothing/mask/luchador(src)
- new /obj/item/clothing/mask/luchador/rudos(src)
- new /obj/item/clothing/mask/luchador/tecnicos(src)
+ starts_with = list(
+ /obj/item/clothing/mask/luchador,
+ /obj/item/clothing/mask/luchador/rudos,
+ /obj/item/clothing/mask/luchador/tecnicos)
/obj/structure/closet/lasertag/red
@@ -55,18 +47,9 @@
icon_state = "red"
icon_closed = "red"
-/obj/structure/closet/lasertag/red/New()
- ..()
- new /obj/item/weapon/gun/energy/lasertag/red(src)
- new /obj/item/weapon/gun/energy/lasertag/red(src)
- new /obj/item/weapon/gun/energy/lasertag/red(src)
- new /obj/item/weapon/gun/energy/lasertag/red(src)
- new /obj/item/weapon/gun/energy/lasertag/red(src)
- new /obj/item/clothing/suit/redtag(src)
- new /obj/item/clothing/suit/redtag(src)
- new /obj/item/clothing/suit/redtag(src)
- new /obj/item/clothing/suit/redtag(src)
- new /obj/item/clothing/suit/redtag(src)
+ starts_with = list(
+ /obj/item/weapon/gun/energy/lasertag/red = 5,
+ /obj/item/clothing/suit/redtag = 5)
/obj/structure/closet/lasertag/blue
@@ -75,15 +58,6 @@
icon_state = "blue"
icon_closed = "blue"
-/obj/structure/closet/lasertag/blue/New()
- ..()
- new /obj/item/weapon/gun/energy/lasertag/blue(src)
- new /obj/item/weapon/gun/energy/lasertag/blue(src)
- new /obj/item/weapon/gun/energy/lasertag/blue(src)
- new /obj/item/weapon/gun/energy/lasertag/blue(src)
- new /obj/item/weapon/gun/energy/lasertag/blue(src)
- new /obj/item/clothing/suit/bluetag(src)
- new /obj/item/clothing/suit/bluetag(src)
- new /obj/item/clothing/suit/bluetag(src)
- new /obj/item/clothing/suit/bluetag(src)
- new /obj/item/clothing/suit/bluetag(src)
\ No newline at end of file
+ starts_with = list(
+ /obj/item/weapon/gun/energy/lasertag/blue = 5,
+ /obj/item/clothing/suit/bluetag = 5)
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index 8ebd9358b5..f567cdbd3a 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -34,18 +34,9 @@
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
-/obj/structure/closet/gimmick/russian/New()
- ..()
- new /obj/item/clothing/head/ushanka(src)
- new /obj/item/clothing/head/ushanka(src)
- new /obj/item/clothing/head/ushanka(src)
- new /obj/item/clothing/head/ushanka(src)
- new /obj/item/clothing/head/ushanka(src)
- new /obj/item/clothing/under/soviet(src)
- new /obj/item/clothing/under/soviet(src)
- new /obj/item/clothing/under/soviet(src)
- new /obj/item/clothing/under/soviet(src)
- new /obj/item/clothing/under/soviet(src)
+ starts_with = list(
+ /obj/item/clothing/head/ushanka = 5,
+ /obj/item/clothing/under/soviet = 5)
/obj/structure/closet/gimmick/tacticool
@@ -55,22 +46,15 @@
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
-/obj/structure/closet/gimmick/tacticool/New()
- ..()
- new /obj/item/clothing/glasses/eyepatch(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/clothing/gloves/swat(src)
- new /obj/item/clothing/gloves/swat(src)
- new /obj/item/clothing/head/helmet/swat(src)
- new /obj/item/clothing/head/helmet/swat(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/shoes/boots/swat(src)
- new /obj/item/clothing/shoes/boots/swat(src)
- new /obj/item/clothing/suit/armor/swat(src)
- new /obj/item/clothing/suit/armor/swat(src)
- new /obj/item/clothing/under/syndicate/tacticool(src)
- new /obj/item/clothing/under/syndicate/tacticool(src)
+ starts_with = list(
+ /obj/item/clothing/glasses/eyepatch,
+ /obj/item/clothing/glasses/sunglasses,
+ /obj/item/clothing/gloves/swat = 2,
+ /obj/item/clothing/head/helmet/swat = 2,
+ /obj/item/clothing/mask/gas = 2,
+ /obj/item/clothing/shoes/boots/swat = 2,
+ /obj/item/clothing/suit/armor/swat = 2,
+ /obj/item/clothing/under/syndicate/tacticool = 2)
/obj/structure/closet/thunderdome
@@ -81,32 +65,16 @@
icon_opened = "syndicateopen"
anchored = 1
-/obj/structure/closet/thunderdome/New()
- ..()
-
/obj/structure/closet/thunderdome/tdred
name = "red-team Thunderdome closet"
-/obj/structure/closet/thunderdome/tdred/New()
- ..()
- new /obj/item/clothing/suit/armor/tdome/red(src)
- new /obj/item/clothing/suit/armor/tdome/red(src)
- new /obj/item/clothing/suit/armor/tdome/red(src)
- new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/weapon/gun/energy/laser(src)
- new /obj/item/weapon/gun/energy/laser(src)
- new /obj/item/weapon/gun/energy/laser(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/clothing/head/helmet/thunderdome(src)
- new /obj/item/clothing/head/helmet/thunderdome(src)
- new /obj/item/clothing/head/helmet/thunderdome(src)
+ starts_with = list(
+ /obj/item/clothing/suit/armor/tdome/red = 3,
+ /obj/item/weapon/melee/energy/sword = 3,
+ /obj/item/weapon/gun/energy/laser = 3,
+ /obj/item/weapon/melee/baton = 3,
+ /obj/item/weapon/storage/box/flashbangs = 3,
+ /obj/item/clothing/head/helmet/thunderdome = 3)
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
@@ -114,26 +82,13 @@
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
-/obj/structure/closet/thunderdome/tdgreen/New()
- ..()
- new /obj/item/clothing/suit/armor/tdome/green(src)
- new /obj/item/clothing/suit/armor/tdome/green(src)
- new /obj/item/clothing/suit/armor/tdome/green(src)
- new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/weapon/gun/energy/laser(src)
- new /obj/item/weapon/gun/energy/laser(src)
- new /obj/item/weapon/gun/energy/laser(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/melee/baton(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/clothing/head/helmet/thunderdome(src)
- new /obj/item/clothing/head/helmet/thunderdome(src)
- new /obj/item/clothing/head/helmet/thunderdome(src)
+ starts_with = list(
+ /obj/item/clothing/suit/armor/tdome/green = 3,
+ /obj/item/weapon/melee/energy/sword = 3,
+ /obj/item/weapon/gun/energy/laser = 3,
+ /obj/item/weapon/melee/baton = 3,
+ /obj/item/weapon/storage/box/flashbangs = 3,
+ /obj/item/clothing/head/helmet/thunderdome = 3)
/obj/structure/closet/alien
name = "alien container"
@@ -142,4 +97,4 @@
icon_state = "alien_locker"
icon_closed = "alien_locker"
icon_opened = "alien_locker_open"
- anchored = TRUE
\ No newline at end of file
+ anchored = TRUE
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 48f979daa1..cfed9c545f 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -14,29 +14,22 @@
icon_state = "black"
icon_closed = "black"
-/obj/structure/closet/gmcloset/New()
- ..()
- new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/head/that(src)
- new /obj/item/device/radio/headset/headset_service(src)
- new /obj/item/device/radio/headset/headset_service(src)
- new /obj/item/clothing/head/pin/flower(src)
- new /obj/item/clothing/head/pin/flower/pink(src)
- new /obj/item/clothing/head/pin/flower/yellow(src)
- new /obj/item/clothing/head/pin/flower/blue(src)
- new /obj/item/clothing/head/pin/pink(src)
- new /obj/item/clothing/head/pin/magnetic(src)
- new /obj/item/clothing/under/sl_suit(src)
- new /obj/item/clothing/under/sl_suit(src)
- new /obj/item/clothing/under/rank/bartender(src)
- new /obj/item/clothing/under/rank/bartender(src)
- new /obj/item/clothing/under/rank/bartender/skirt(src)
- new /obj/item/clothing/under/dress/dress_saloon(src)
- new /obj/item/clothing/accessory/wcoat(src)
- new /obj/item/clothing/accessory/wcoat(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/laceup(src)
+ starts_with = list(
+ /obj/item/clothing/head/that = 2,
+ /obj/item/device/radio/headset/headset_service = 2,
+ /obj/item/clothing/head/pin/flower,
+ /obj/item/clothing/head/pin/flower/pink,
+ /obj/item/clothing/head/pin/flower/yellow,
+ /obj/item/clothing/head/pin/flower/blue,
+ /obj/item/clothing/head/pin/pink,
+ /obj/item/clothing/head/pin/magnetic,
+ /obj/item/clothing/under/sl_suit = 2,
+ /obj/item/clothing/under/rank/bartender = 2,
+ /obj/item/clothing/under/rank/bartender/skirt,
+ /obj/item/clothing/under/dress/dress_saloon,
+ /obj/item/clothing/accessory/wcoat = 2,
+ /obj/item/clothing/shoes/black = 2,
+ /obj/item/clothing/shoes/laceup)
/*
* Chef
@@ -47,19 +40,14 @@
icon_state = "black"
icon_closed = "black"
-/obj/structure/closet/chefcloset/New()
- ..()
- new /obj/item/clothing/under/sundress(src)
- new /obj/item/clothing/under/waiter(src)
- new /obj/item/clothing/under/waiter(src)
- new /obj/item/device/radio/headset/headset_service(src)
- new /obj/item/device/radio/headset/headset_service(src)
- new /obj/item/weapon/storage/box/mousetraps(src)
- new /obj/item/weapon/storage/box/mousetraps(src)
- new /obj/item/clothing/under/rank/chef(src)
- new /obj/item/clothing/head/chefhat(src)
- new /obj/item/weapon/storage/bag/food(src)
- new /obj/item/weapon/storage/bag/food(src)
+ starts_with = list(
+ /obj/item/clothing/under/sundress,
+ /obj/item/clothing/under/waiter = 2,
+ /obj/item/device/radio/headset/headset_service = 2,
+ /obj/item/weapon/storage/box/mousetraps = 2,
+ /obj/item/clothing/under/rank/chef,
+ /obj/item/clothing/head/chefhat,
+ /obj/item/weapon/storage/bag/food = 2)
/*
* Janitor
@@ -70,24 +58,20 @@
icon_state = "mixed"
icon_closed = "mixed"
-/obj/structure/closet/jcloset/New()
- ..()
- new /obj/item/clothing/under/rank/janitor(src)
- new /obj/item/clothing/under/dress/maid/janitor(src)
- new /obj/item/device/radio/headset/headset_service(src)
- new /obj/item/weapon/cartridge/janitor(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/head/soft/purple(src)
- new /obj/item/clothing/head/beret/purple(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/caution(src)
- new /obj/item/weapon/caution(src)
- new /obj/item/weapon/caution(src)
- new /obj/item/weapon/caution(src)
- new /obj/item/device/lightreplacer(src)
- new /obj/item/weapon/storage/bag/trash(src)
- new /obj/item/weapon/storage/belt/janitor(src)
- new /obj/item/clothing/shoes/galoshes(src)
+ starts_with = list(
+ /obj/item/clothing/under/rank/janitor,
+ /obj/item/clothing/under/dress/maid/janitor,
+ /obj/item/device/radio/headset/headset_service,
+ /obj/item/weapon/cartridge/janitor,
+ /obj/item/clothing/gloves/black,
+ /obj/item/clothing/head/soft/purple,
+ /obj/item/clothing/head/beret/purple,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/caution = 4,
+ /obj/item/device/lightreplacer,
+ /obj/item/weapon/storage/bag/trash,
+ /obj/item/weapon/storage/belt/janitor,
+ /obj/item/clothing/shoes/galoshes)
/*
* Lawyer
@@ -98,43 +82,23 @@
icon_state = "blue"
icon_closed = "blue"
-/obj/structure/closet/lawcloset/New()
- ..()
- new /obj/item/clothing/under/lawyer/female(src)
- new /obj/item/clothing/under/lawyer/female(src)
- new /obj/item/clothing/under/lawyer/black(src)
- new /obj/item/clothing/under/lawyer/black(src)
- new /obj/item/clothing/under/lawyer/black/skirt(src)
- new /obj/item/clothing/under/lawyer/black/skirt(src)
- new /obj/item/clothing/under/lawyer/red(src)
- new /obj/item/clothing/under/lawyer/red(src)
- new /obj/item/clothing/under/lawyer/red/skirt(src)
- new /obj/item/clothing/under/lawyer/red/skirt(src)
- new /obj/item/clothing/suit/storage/toggle/internalaffairs(src)
- new /obj/item/clothing/suit/storage/toggle/internalaffairs(src)
- new /obj/item/clothing/under/lawyer/bluesuit(src)
- new /obj/item/clothing/under/lawyer/bluesuit(src)
- new /obj/item/clothing/under/lawyer/bluesuit/skirt(src)
- new /obj/item/clothing/under/lawyer/bluesuit/skirt(src)
- new /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket(src)
- new /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket(src)
- new /obj/item/clothing/under/lawyer/purpsuit(src)
- new /obj/item/clothing/under/lawyer/purpsuit(src)
- new /obj/item/clothing/under/lawyer/purpsuit/skirt(src)
- new /obj/item/clothing/under/lawyer/purpsuit/skirt(src)
- new /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket(src)
- new /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/laceup(src)
- new /obj/item/clothing/shoes/laceup(src)
- new /obj/item/clothing/glasses/sunglasses/big(src)
- new /obj/item/clothing/glasses/sunglasses/big(src)
- new /obj/item/clothing/under/lawyer/blue(src)
- new /obj/item/clothing/under/lawyer/blue(src)
- new /obj/item/clothing/under/lawyer/blue/skirt(src)
- new /obj/item/clothing/under/lawyer/blue/skirt(src)
- new /obj/item/device/tape/random(src)
- new /obj/item/device/tape/random(src)
\ No newline at end of file
+ starts_with = list(
+ /obj/item/clothing/under/lawyer/female = 2,
+ /obj/item/clothing/under/lawyer/black = 2,
+ /obj/item/clothing/under/lawyer/black/skirt = 2,
+ /obj/item/clothing/under/lawyer/red = 2,
+ /obj/item/clothing/under/lawyer/red/skirt = 2,
+ /obj/item/clothing/suit/storage/toggle/internalaffairs = 2,
+ /obj/item/clothing/under/lawyer/bluesuit = 2,
+ /obj/item/clothing/under/lawyer/bluesuit/skirt = 2,
+ /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 2,
+ /obj/item/clothing/under/lawyer/purpsuit = 2,
+ /obj/item/clothing/under/lawyer/purpsuit/skirt = 2,
+ /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 2,
+ /obj/item/clothing/shoes/brown = 2,
+ /obj/item/clothing/shoes/black = 2,
+ /obj/item/clothing/shoes/laceup = 2,
+ /obj/item/clothing/glasses/sunglasses/big = 2,
+ /obj/item/clothing/under/lawyer/blue = 2,
+ /obj/item/clothing/under/lawyer/blue/skirt = 2,
+ /obj/item/device/tape/random = 2)
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
index 4074230d8d..aed0a4d9ee 100644
--- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
@@ -10,10 +10,9 @@
icon_closed = "bio_general"
icon_opened = "bio_generalopen"
-/obj/structure/closet/l3closet/general/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/general(src)
- new /obj/item/clothing/head/bio_hood/general(src)
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/general,
+ /obj/item/clothing/head/bio_hood/general)
/obj/structure/closet/l3closet/virology
@@ -21,12 +20,11 @@
icon_closed = "bio_virology"
icon_opened = "bio_virologyopen"
-/obj/structure/closet/l3closet/virology/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/virology(src)
- new /obj/item/clothing/head/bio_hood/virology(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/weapon/tank/oxygen(src)
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/virology,
+ /obj/item/clothing/head/bio_hood/virology,
+ /obj/item/clothing/mask/gas,
+ /obj/item/weapon/tank/oxygen)
/obj/structure/closet/l3closet/security
@@ -34,27 +32,22 @@
icon_closed = "bio_security"
icon_opened = "bio_securityopen"
-/obj/structure/closet/l3closet/security/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/security(src)
- new /obj/item/clothing/head/bio_hood/security(src)
- new /obj/item/weapon/gun/energy/taser/xeno/sec(src)
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/security,
+ /obj/item/clothing/head/bio_hood/security,
+ /obj/item/weapon/gun/energy/taser/xeno/sec)
+
/obj/structure/closet/l3closet/janitor
icon_state = "bio_janitor"
icon_closed = "bio_janitor"
icon_opened = "bio_janitoropen"
-/obj/structure/closet/l3closet/janitor/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/janitor(src)
- new /obj/item/clothing/suit/bio_suit/janitor(src)
- new /obj/item/clothing/head/bio_hood/janitor(src)
- new /obj/item/clothing/head/bio_hood/janitor(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/janitor = 2,
+ /obj/item/clothing/head/bio_hood/janitor = 2,
+ /obj/item/clothing/mask/gas = 2,
+ /obj/item/weapon/tank/emergency/oxygen/engi = 2)
/obj/structure/closet/l3closet/scientist
@@ -62,15 +55,14 @@
icon_closed = "bio_scientist"
icon_opened = "bio_scientistopen"
-/obj/structure/closet/l3closet/scientist/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/scientist(src)
- new /obj/item/clothing/head/bio_hood/scientist(src)
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/scientist,
+ /obj/item/clothing/head/bio_hood/scientist)
-/obj/structure/closet/l3closet/scientist/double/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/scientist(src)
- new /obj/item/clothing/head/bio_hood/scientist(src)
+/obj/structure/closet/l3closet/scientist/double
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/scientist = 2,
+ /obj/item/clothing/head/bio_hood/scientist = 2)
/obj/structure/closet/l3closet/medical
@@ -78,14 +70,7 @@
icon_closed = "bio_scientist"
icon_opened = "bio_scientistopen"
-/obj/structure/closet/l3closet/medical/New()
- ..()
- new /obj/item/clothing/suit/bio_suit/general(src)
- new /obj/item/clothing/suit/bio_suit/general(src)
- new /obj/item/clothing/suit/bio_suit/general(src)
- new /obj/item/clothing/head/bio_hood/general(src)
- new /obj/item/clothing/head/bio_hood/general(src)
- new /obj/item/clothing/head/bio_hood/general(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/mask/gas(src)
\ No newline at end of file
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/general = 3,
+ /obj/item/clothing/head/bio_hood/general = 3,
+ /obj/item/clothing/mask/gas = 3)
diff --git a/code/game/objects/structures/crates_lockers/closets/malfunction.dm b/code/game/objects/structures/crates_lockers/closets/malfunction.dm
index bd17ba9841..90f91d1d8f 100644
--- a/code/game/objects/structures/crates_lockers/closets/malfunction.dm
+++ b/code/game/objects/structures/crates_lockers/closets/malfunction.dm
@@ -4,12 +4,11 @@
icon_closed = "syndicate"
icon_opened = "syndicateopen"
-/obj/structure/closet/malf/suits/New()
- ..()
- new /obj/item/weapon/tank/jetpack/void(src)
- new /obj/item/clothing/mask/breath(src)
- new /obj/item/clothing/head/helmet/space/void(src)
- new /obj/item/clothing/suit/space/void(src)
- new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/cell(src)
- new /obj/item/device/multitool(src)
+ starts_with = list(
+ /obj/item/weapon/tank/jetpack/void,
+ /obj/item/clothing/mask/breath,
+ /obj/item/clothing/head/helmet/space/void,
+ /obj/item/clothing/suit/space/void,
+ /obj/item/weapon/crowbar,
+ /obj/item/weapon/cell,
+ /obj/item/device/multitool)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
index 53606b3463..516d2a645e 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
@@ -8,7 +8,8 @@
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
- will_contain = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 10)
+ starts_with = list(
+ /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 10)
/obj/structure/closet/secure_closet/bar/update_icon()
if(broken)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index 103867ef88..ef68d7ca60 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -8,28 +8,28 @@
icon_broken = "securecargobroken"
icon_off = "securecargooff"
- New()
- ..()
- if(prob(75))
- new /obj/item/weapon/storage/backpack(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/norm(src)
- if(prob(25))
- new /obj/item/weapon/storage/backpack/dufflebag(src)
- new /obj/item/clothing/under/rank/cargotech(src)
- new /obj/item/clothing/under/rank/cargotech/skirt(src)
- new /obj/item/clothing/under/rank/cargotech/jeans(src)
- new /obj/item/clothing/under/rank/cargotech/jeans/female(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src)
- new /obj/item/clothing/shoes/boots/winter/supply(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/device/radio/headset/headset_cargo(src)
- new /obj/item/device/radio/headset/headset_cargo/alt(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/gloves/fingerless(src)
- new /obj/item/clothing/head/soft(src)
-// new /obj/item/weapon/cartridge/quartermaster(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/cargotech,
+ /obj/item/clothing/under/rank/cargotech/skirt,
+ /obj/item/clothing/under/rank/cargotech/jeans,
+ /obj/item/clothing/under/rank/cargotech/jeans/female,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/cargo,
+ /obj/item/clothing/shoes/boots/winter/supply,
+ /obj/item/clothing/shoes/black,
+ /obj/item/device/radio/headset/headset_cargo,
+ /obj/item/device/radio/headset/headset_cargo/alt,
+ /obj/item/clothing/gloves/black,
+ /obj/item/clothing/gloves/fingerless,
+ /obj/item/clothing/head/soft)
+
+/obj/structure/closet/secure_closet/cargotech/initialize()
+ if(prob(75))
+ starts_with += /obj/item/weapon/storage/backpack
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/norm
+ if(prob(25))
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag
+ return ..()
/obj/structure/closet/secure_closet/quartermaster
name = "quartermaster's locker"
@@ -41,32 +41,32 @@
icon_broken = "secureqmbroken"
icon_off = "secureqmoff"
- New()
- ..()
- if(prob(75))
- new /obj/item/weapon/storage/backpack(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/norm(src)
- if(prob(25))
- new /obj/item/weapon/storage/backpack/dufflebag(src)
- new /obj/item/clothing/under/rank/cargo(src)
- new /obj/item/clothing/under/rank/cargo/skirt(src)
- new /obj/item/clothing/under/rank/cargo/jeans(src)
- new /obj/item/clothing/under/rank/cargo/jeans/female(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/device/radio/headset/headset_cargo(src)
- new /obj/item/device/radio/headset/headset_cargo/alt(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/gloves/fingerless(src)
-// new /obj/item/weapon/cartridge/quartermaster(src)
- new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/weapon/tank/emergency/oxygen(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/glasses/meson(src)
- new /obj/item/clothing/head/soft(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src)
- new /obj/item/clothing/shoes/boots/winter/supply(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/cargo,
+ /obj/item/clothing/under/rank/cargo/skirt,
+ /obj/item/clothing/under/rank/cargo/jeans,
+ /obj/item/clothing/under/rank/cargo/jeans/female,
+ /obj/item/clothing/shoes/brown,
+ /obj/item/device/radio/headset/headset_cargo,
+ /obj/item/device/radio/headset/headset_cargo/alt,
+ /obj/item/clothing/gloves/black,
+ /obj/item/clothing/gloves/fingerless,
+ /obj/item/clothing/suit/fire/firefighter,
+ /obj/item/weapon/tank/emergency/oxygen,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/glasses/meson,
+ /obj/item/clothing/head/soft,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/cargo,
+ /obj/item/clothing/shoes/boots/winter/supply)
+
+/obj/structure/closet/secure_closet/quartermaster/initialize()
+ if(prob(75))
+ starts_with += /obj/item/weapon/storage/backpack
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/norm
+ if(prob(25))
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag
+ return ..()
/obj/structure/closet/secure_closet/miner
name = "miner's equipment"
@@ -78,23 +78,24 @@
icon_off = "miningsecoff"
req_access = list(access_mining)
-/obj/structure/closet/secure_closet/miner/New()
- ..()
- sleep(2)
+ starts_with = list(
+ /obj/item/device/radio/headset/headset_mine,
+ /obj/item/clothing/under/rank/miner,
+ /obj/item/clothing/gloves/black,
+ /obj/item/clothing/shoes/black,
+ /obj/item/device/analyzer,
+ /obj/item/weapon/storage/bag/ore,
+ /obj/item/device/flashlight/lantern,
+ /obj/item/weapon/shovel,
+ /obj/item/weapon/pickaxe,
+ /obj/item/clothing/glasses/material,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/miner,
+ /obj/item/clothing/shoes/boots/winter/mining,
+ /obj/item/stack/marker_beacon/thirty)
+
+/obj/structure/closet/secure_closet/miner/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/industrial(src)
+ starts_with += /obj/item/weapon/storage/backpack/industrial
else
- new /obj/item/weapon/storage/backpack/satchel/eng(src)
- new /obj/item/device/radio/headset/headset_mine(src)
- new /obj/item/clothing/under/rank/miner(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/device/analyzer(src)
- new /obj/item/weapon/storage/bag/ore(src)
- new /obj/item/device/flashlight/lantern(src)
- new /obj/item/weapon/shovel(src)
- new /obj/item/weapon/pickaxe(src)
- new /obj/item/clothing/glasses/material(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/miner(src)
- new /obj/item/clothing/shoes/boots/winter/mining(src)
- new /obj/item/stack/marker_beacon/thirty(src)
\ No newline at end of file
+ starts_with += /obj/item/weapon/storage/backpack/satchel/eng
+ return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index df9e6802f7..fd1475c280 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -1,170 +1,143 @@
/obj/structure/closet/secure_closet/engineering_chief
name = "chief engineer's locker"
- req_access = list(access_ce)
icon_state = "securece1"
icon_closed = "securece"
icon_locked = "securece1"
icon_opened = "secureceopen"
icon_broken = "securecebroken"
icon_off = "secureceoff"
+ req_access = list(access_ce)
+ starts_with = list(
+ /obj/item/clothing/accessory/storage/brown_vest,
+ /obj/item/blueprints,
+ /obj/item/clothing/under/rank/chief_engineer,
+ /obj/item/clothing/under/rank/chief_engineer/skirt,
+ /obj/item/clothing/head/hardhat/white,
+ /obj/item/clothing/head/welding,
+ /obj/item/clothing/gloves/yellow,
+ /obj/item/clothing/shoes/brown,
+ /obj/item/weapon/cartridge/ce,
+ /obj/item/device/radio/headset/heads/ce,
+ /obj/item/device/radio/headset/heads/ce/alt,
+ /obj/item/weapon/storage/toolbox/mechanical,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/mask/gas,
+ /obj/item/device/multitool,
+ /obj/item/weapon/storage/belt/utility/chief/full,
+ /obj/item/device/flash,
+ /obj/item/device/t_scanner/upgraded,
+ /obj/item/taperoll/engineering,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering,
+ /obj/item/clothing/shoes/boots/winter/engineering,
+ /obj/item/weapon/tank/emergency/oxygen/engi)
- New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/industrial(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/eng(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/eng(src)
- new /obj/item/clothing/accessory/storage/brown_vest(src)
- new /obj/item/blueprints(src)
- new /obj/item/clothing/under/rank/chief_engineer(src)
- new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
- new /obj/item/clothing/head/hardhat/white(src)
- new /obj/item/clothing/head/welding(src)
- new /obj/item/clothing/gloves/yellow(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/weapon/cartridge/ce(src)
- new /obj/item/device/radio/headset/heads/ce(src)
- new /obj/item/device/radio/headset/heads/ce/alt(src)
- new /obj/item/weapon/storage/toolbox/mechanical(src)
- new /obj/item/clothing/suit/storage/hazardvest(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/device/multitool(src)
- new /obj/item/weapon/storage/belt/utility/chief/full(src)
- new /obj/item/device/flash(src)
- new /obj/item/device/t_scanner/upgraded
- new /obj/item/taperoll/engineering(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src)
- new /obj/item/clothing/shoes/boots/winter/engineering(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- return
-
-
+/obj/structure/closet/secure_closet/engineering_chief/initialize()
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/industrial
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/eng
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
+ return ..()
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies"
- req_access = list(access_engine_equip)
icon_state = "secureengelec1"
icon_closed = "secureengelec"
icon_locked = "secureengelec1"
icon_opened = "toolclosetopen"
icon_broken = "secureengelecbroken"
icon_off = "secureengelecoff"
+ req_access = list(access_engine_equip)
-
- New()
- ..()
- new /obj/item/clothing/gloves/yellow(src)
- new /obj/item/clothing/gloves/yellow(src)
- new /obj/item/weapon/storage/toolbox/electrical(src)
- new /obj/item/weapon/storage/toolbox/electrical(src)
- new /obj/item/weapon/storage/toolbox/electrical(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/weapon/module/power_control(src)
- new /obj/item/device/multitool(src)
- new /obj/item/device/multitool(src)
- new /obj/item/device/multitool(src)
- return
-
+ starts_with = list(
+ /obj/item/clothing/gloves/yellow = 2,
+ /obj/item/weapon/storage/toolbox/electrical = 3,
+ /obj/item/weapon/module/power_control = 3,
+ /obj/item/device/multitool = 3)
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies"
- req_access = list(access_construction)
icon_state = "secureengweld1"
icon_closed = "secureengweld"
icon_locked = "secureengweld1"
icon_opened = "toolclosetopen"
icon_broken = "secureengweldbroken"
icon_off = "secureengweldoff"
+ req_access = list(access_construction)
-
- New()
- ..()
- new /obj/item/clothing/head/welding(src)
- new /obj/item/clothing/head/welding(src)
- new /obj/item/clothing/head/welding(src)
- new /obj/item/weapon/weldingtool/largetank(src)
- new /obj/item/weapon/weldingtool/largetank(src)
- new /obj/item/weapon/weldingtool/largetank(src)
- new /obj/item/weapon/weldpack(src)
- new /obj/item/weapon/weldpack(src)
- new /obj/item/weapon/weldpack(src)
- new /obj/item/clothing/glasses/welding(src)
- new /obj/item/clothing/glasses/welding(src)
- new /obj/item/clothing/glasses/welding(src)
- return
-
-
+ starts_with = list(
+ /obj/item/clothing/head/welding = 3,
+ /obj/item/weapon/weldingtool/largetank = 3,
+ /obj/item/weapon/weldpack = 3,
+ /obj/item/clothing/glasses/welding = 3)
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
- req_access = list(access_engine_equip)
icon_state = "secureeng1"
icon_closed = "secureeng"
icon_locked = "secureeng1"
icon_opened = "secureengopen"
icon_broken = "secureengbroken"
icon_off = "secureengoff"
+ req_access = list(access_engine_equip)
+ starts_with = list(
+ /obj/item/clothing/accessory/storage/brown_vest,
+ /obj/item/weapon/storage/toolbox/mechanical,
+ /obj/item/device/radio/headset/headset_eng,
+ /obj/item/device/radio/headset/headset_eng/alt,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/glasses/meson,
+ /obj/item/weapon/cartridge/engineering,
+ /obj/item/taperoll/engineering,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering,
+ /obj/item/clothing/shoes/boots/winter/engineering,
+ /obj/item/weapon/tank/emergency/oxygen/engi)
- New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/industrial(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/eng(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/eng(src)
- new /obj/item/clothing/accessory/storage/brown_vest(src)
- new /obj/item/weapon/storage/toolbox/mechanical(src)
- new /obj/item/device/radio/headset/headset_eng(src)
- new /obj/item/device/radio/headset/headset_eng/alt(src)
- new /obj/item/clothing/suit/storage/hazardvest(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/glasses/meson(src)
- new /obj/item/weapon/cartridge/engineering(src)
- new /obj/item/taperoll/engineering(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src)
- new /obj/item/clothing/shoes/boots/winter/engineering(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- return
-
+/obj/structure/closet/secure_closet/engineering_personal/initialize()
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/industrial
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/eng
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
+ return ..()
/obj/structure/closet/secure_closet/atmos_personal
name = "technician's locker"
- req_access = list(access_atmospherics)
icon_state = "secureatm1"
icon_closed = "secureatm"
icon_locked = "secureatm1"
icon_opened = "secureatmopen"
icon_broken = "secureatmbroken"
icon_off = "secureatmoff"
+ req_access = list(access_atmospherics)
+ starts_with = list(
+ /obj/item/clothing/accessory/storage/brown_vest,
+ /obj/item/clothing/suit/fire/firefighter,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/extinguisher,
+ /obj/item/device/radio/headset/headset_eng,
+ /obj/item/device/radio/headset/headset_eng/alt,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/mask/gas,
+ /obj/item/weapon/cartridge/atmos,
+ /obj/item/taperoll/atmos,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos,
+ /obj/item/clothing/shoes/boots/winter/atmos,
+ /obj/item/weapon/tank/emergency/oxygen/engi)
- New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/industrial(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/eng(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/eng(src)
- new /obj/item/clothing/accessory/storage/brown_vest(src)
- new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/extinguisher(src)
- new /obj/item/device/radio/headset/headset_eng(src)
- new /obj/item/device/radio/headset/headset_eng/alt(src)
- new /obj/item/clothing/suit/storage/hazardvest(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/weapon/cartridge/atmos(src)
- new /obj/item/taperoll/atmos(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src)
- new /obj/item/clothing/shoes/boots/winter/atmos(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- return
+/obj/structure/closet/secure_closet/atmos_personal/initialize()
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/industrial
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/eng
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
+ return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
index 62401902b6..c6eddffe83 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
@@ -16,20 +16,14 @@
name = "kitchen cabinet"
req_access = list(access_kitchen)
- New()
- ..()
- for(var/i = 1 to 7)
- new /obj/item/weapon/reagent_containers/food/condiment/flour(src)
- for(var/i = 1 to 2)
- new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
- return
-
+ starts_with = list(
+ /obj/item/weapon/reagent_containers/food/condiment/flour = 7,
+ /obj/item/weapon/reagent_containers/food/condiment/sugar = 2)
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
-
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon_state = "fridge1"
@@ -39,13 +33,8 @@
icon_broken = "fridgebroken"
icon_off = "fridge1"
-
- New()
- ..()
- for(var/i = 1 to 10)
- new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src)
- return
-
+ starts_with = list(
+ /obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10)
/obj/structure/closet/secure_closet/freezer/fridge
@@ -57,17 +46,10 @@
icon_broken = "fridgebroken"
icon_off = "fridge1"
-
- New()
- ..()
- for(var/i = 1 to 6)
- new /obj/item/weapon/reagent_containers/food/drinks/milk(src)
- for(var/i = 1 to 4)
- new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src)
- for(var/i = 1 to 4)
- new /obj/item/weapon/storage/fancy/egg_box(src)
- return
-
+ starts_with = list(
+ /obj/item/weapon/reagent_containers/food/drinks/milk = 6,
+ /obj/item/weapon/reagent_containers/food/drinks/soymilk = 4,
+ /obj/item/weapon/storage/fancy/egg_box = 4)
/obj/structure/closet/secure_closet/freezer/money
@@ -81,12 +63,7 @@
req_access = list(access_heads_vault)
- New()
- ..()
- for(var/i = 1 to 3)
- new /obj/item/weapon/spacecash/c1000(src)
- for(var/i = 1 to 4)
- new /obj/item/weapon/spacecash/c500(src)
- for(var/i = 1 to 5)
- new /obj/item/weapon/spacecash/c200(src)
- return
+ starts_with = list(
+ /obj/item/weapon/spacecash/c1000 = 3,
+ /obj/item/weapon/spacecash/c500 = 4,
+ /obj/item/weapon/spacecash/c200 = 5)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
index f4f24e8d50..c606151550 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
@@ -1,6 +1,5 @@
/obj/structure/closet/secure_closet/guncabinet
name = "gun cabinet"
- req_one_access = list(access_armory)
icon = 'icons/obj/guncabinet.dmi'
icon_state = "base"
icon_off ="base"
@@ -8,9 +7,10 @@
icon_locked ="base"
icon_closed ="base"
icon_opened = "base"
+ req_one_access = list(access_armory)
-/obj/structure/closet/secure_closet/guncabinet/New()
- ..()
+/obj/structure/closet/secure_closet/guncabinet/initialize()
+ . = ..()
update_icon()
/obj/structure/closet/secure_closet/guncabinet/toggle()
@@ -27,7 +27,7 @@
for (var/obj/item/weapon/gun/G in contents)
if (istype(G, /obj/item/weapon/gun/energy))
lazors++
- if (istype(G, /obj/item/weapon/gun/projectile/))
+ if (istype(G, /obj/item/weapon/gun/projectile))
shottas++
for (var/i = 0 to 2)
if(lazors || shottas) // only make icons if we have one of the two types.
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index fc5a536730..d378c74537 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -8,24 +8,22 @@
icon_broken = "hydrosecurebroken"
icon_off = "hydrosecureoff"
+ starts_with = list(
+ /obj/item/weapon/storage/bag/plants,
+ /obj/item/clothing/under/rank/hydroponics,
+ /obj/item/device/analyzer/plant_analyzer,
+ /obj/item/device/radio/headset/headset_service,
+ /obj/item/clothing/head/greenbandana,
+ /obj/item/weapon/material/minihoe,
+ /obj/item/weapon/material/knife/machete/hatchet,
+ /obj/item/weapon/wirecutters/clippers,
+ /obj/item/weapon/reagent_containers/spray/plantbgone,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/hydro,
+ /obj/item/clothing/shoes/boots/winter/hydro)
- New()
- ..()
- switch(rand(1,2))
- if(1)
- new /obj/item/clothing/suit/storage/apron(src)
- if(2)
- new /obj/item/clothing/suit/storage/apron/overalls(src)
- new /obj/item/weapon/storage/bag/plants(src)
- new /obj/item/clothing/under/rank/hydroponics(src)
- new /obj/item/device/analyzer/plant_analyzer(src)
- new /obj/item/device/radio/headset/headset_service(src)
- new /obj/item/clothing/head/greenbandana(src)
- new /obj/item/weapon/material/minihoe(src)
- new /obj/item/weapon/material/knife/machete/hatchet(src)
- new /obj/item/weapon/wirecutters/clippers(src)
- new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/hydro(src)
- new /obj/item/clothing/shoes/boots/winter/hydro(src)
-// new /obj/item/weapon/bee_net(src) //No more bees, March 2014
- return
+/obj/structure/closet/secure_closet/hydroponics/initialize()
+ if(prob(50))
+ starts_with += /obj/item/clothing/suit/storage/apron
+ else
+ starts_with += /obj/item/clothing/suit/storage/apron/overalls
+ return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 576a88d091..e87884b10a 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -9,21 +9,13 @@
icon_off = "medicaloff"
req_access = list(access_medical)
-
-/obj/structure/closet/secure_closet/medical1/New()
- ..()
- new /obj/item/weapon/storage/box/autoinjectors(src)
- new /obj/item/weapon/storage/box/syringes(src)
- new /obj/item/weapon/reagent_containers/dropper(src)
- new /obj/item/weapon/reagent_containers/dropper(src)
- new /obj/item/weapon/reagent_containers/glass/beaker(src)
- new /obj/item/weapon/reagent_containers/glass/beaker(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
- return
-
+ starts_with = list(
+ /obj/item/weapon/storage/box/autoinjectors,
+ /obj/item/weapon/storage/box/syringes,
+ /obj/item/weapon/reagent_containers/dropper = 2,
+ /obj/item/weapon/reagent_containers/glass/beaker = 2,
+ /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2,
+ /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2)
/obj/structure/closet/secure_closet/medical2
@@ -37,17 +29,9 @@
icon_off = "medicaloff"
req_access = list(access_surgery)
-
-/obj/structure/closet/secure_closet/medical2/New()
- ..()
- new /obj/item/weapon/tank/anesthetic(src)
- new /obj/item/weapon/tank/anesthetic(src)
- new /obj/item/weapon/tank/anesthetic(src)
- new /obj/item/clothing/mask/breath/medical(src)
- new /obj/item/clothing/mask/breath/medical(src)
- new /obj/item/clothing/mask/breath/medical(src)
- return
-
+ starts_with = list(
+ /obj/item/weapon/tank/anesthetic = 3,
+ /obj/item/clothing/mask/breath/medical = 3)
/obj/structure/closet/secure_closet/medical3
@@ -60,63 +44,63 @@
icon_broken = "securemedbroken"
icon_off = "securemedoff"
-/obj/structure/closet/secure_closet/medical3/New()
- ..()
+ starts_with = list(
+ /obj/item/clothing/under/rank/medical,
+ /obj/item/clothing/under/rank/nurse,
+ /obj/item/clothing/under/rank/orderly,
+ /obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/suit/storage/toggle/fr_jacket,
+ /obj/item/clothing/shoes/white,
+ /obj/item/weapon/cartridge/medical,
+ /obj/item/device/radio/headset/headset_med,
+ /obj/item/device/radio/headset/headset_med/alt,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/medical,
+ /obj/item/clothing/shoes/boots/winter/medical,
+ /obj/item/clothing/under/rank/nursesuit,
+ /obj/item/clothing/head/nursehat,
+ /obj/item/weapon/storage/box/freezer = 3)
+
+/obj/structure/closet/secure_closet/medical3/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/medic(src)
+ starts_with += /obj/item/weapon/storage/backpack/medic
else
- new /obj/item/weapon/storage/backpack/satchel/med(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/med(src)
- new /obj/item/clothing/under/rank/nursesuit (src)
- new /obj/item/clothing/head/nursehat (src)
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
- new /obj/item/clothing/under/rank/medical/scrubs(src)
- new /obj/item/clothing/head/surgery/blue(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs
+ starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
- new /obj/item/clothing/under/rank/medical/scrubs/green(src)
- new /obj/item/clothing/head/surgery/green(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
+ starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
- new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
- new /obj/item/clothing/head/surgery/purple(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
+ starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
- new /obj/item/clothing/under/rank/medical/scrubs/black(src)
- new /obj/item/clothing/head/surgery/black(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
+ starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
- new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
- new /obj/item/clothing/head/surgery/navyblue(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
+ starts_with += /obj/item/clothing/head/surgery/navyblue
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
- new /obj/item/clothing/under/rank/medical/scrubs(src)
- new /obj/item/clothing/head/surgery/blue(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs
+ starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
- new /obj/item/clothing/under/rank/medical/scrubs/green(src)
- new /obj/item/clothing/head/surgery/green(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
+ starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
- new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
- new /obj/item/clothing/head/surgery/purple(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
+ starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
- new /obj/item/clothing/under/rank/medical/scrubs/black(src)
- new /obj/item/clothing/head/surgery/black(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
+ starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
- new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
- new /obj/item/clothing/head/surgery/navyblue(src)
- new /obj/item/clothing/under/rank/medical(src)
- new /obj/item/clothing/under/rank/nurse(src)
- new /obj/item/clothing/under/rank/orderly(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/suit/storage/toggle/fr_jacket(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/weapon/cartridge/medical(src)
- new /obj/item/device/radio/headset/headset_med(src)
- new /obj/item/device/radio/headset/headset_med/alt(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src)
- new /obj/item/clothing/shoes/boots/winter/medical(src)
- new /obj/item/weapon/storage/box/freezer(src)
- new /obj/item/weapon/storage/box/freezer(src)
- new /obj/item/weapon/storage/box/freezer(src)
- return
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
+ starts_with += /obj/item/clothing/head/surgery/navyblue
+ return ..()
+
/obj/structure/closet/secure_closet/paramedic
name = "paramedic locker"
@@ -129,33 +113,30 @@
icon_off = "medicaloff"
req_access = list(access_medical_equip)
-
-/obj/structure/closet/secure_closet/paramedic/New()
- ..()
- new /obj/item/weapon/storage/backpack/dufflebag/emt(src)
- new /obj/item/weapon/storage/box/autoinjectors(src)
- new /obj/item/weapon/storage/box/syringes(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
- new /obj/item/weapon/storage/belt/medical/emt(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/suit/storage/toggle/fr_jacket(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/emt(src)
- new /obj/item/device/radio/headset/headset_med/alt(src)
- new /obj/item/weapon/cartridge/medical(src)
- new /obj/item/weapon/storage/briefcase/inflatable(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/clothing/glasses/hud/health(src)
- new /obj/item/device/healthanalyzer(src)
- new /obj/item/device/radio/off(src)
- new /obj/random/medical(src)
- new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/extinguisher/mini(src)
- new /obj/item/weapon/storage/box/freezer(src)
- new /obj/item/clothing/accessory/storage/white_vest(src)
- new /obj/item/taperoll/medical(src)
- return
+ starts_with = list(
+ /obj/item/weapon/storage/backpack/dufflebag/emt,
+ /obj/item/weapon/storage/box/autoinjectors,
+ /obj/item/weapon/storage/box/syringes,
+ /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,
+ /obj/item/weapon/reagent_containers/glass/bottle/antitoxin,
+ /obj/item/weapon/storage/belt/medical/emt,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/suit/storage/toggle/fr_jacket,
+ /obj/item/clothing/suit/storage/toggle/labcoat/emt,
+ /obj/item/device/radio/headset/headset_med/alt,
+ /obj/item/weapon/cartridge/medical,
+ /obj/item/weapon/storage/briefcase/inflatable,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank/emergency/oxygen/engi,
+ /obj/item/clothing/glasses/hud/health,
+ /obj/item/device/healthanalyzer,
+ /obj/item/device/radio/off,
+ /obj/random/medical,
+ /obj/item/weapon/crowbar,
+ /obj/item/weapon/extinguisher/mini,
+ /obj/item/weapon/storage/box/freezer,
+ /obj/item/clothing/accessory/storage/white_vest,
+ /obj/item/taperoll/medical)
/obj/structure/closet/secure_closet/CMO
name = "chief medical officer's locker"
@@ -167,66 +148,60 @@
icon_broken = "cmosecurebroken"
icon_off = "cmosecureoff"
-/obj/structure/closet/secure_closet/CMO/New()
- ..()
+ starts_with = list(
+ /obj/item/clothing/under/rank/chief_medical_officer,
+ /obj/item/clothing/under/rank/chief_medical_officer/skirt,
+ /obj/item/clothing/suit/storage/toggle/labcoat/cmo,
+ /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
+ /obj/item/weapon/cartridge/cmo,
+ /obj/item/clothing/gloves/sterile/latex,
+ /obj/item/clothing/shoes/brown ,
+ /obj/item/device/radio/headset/heads/cmo,
+ /obj/item/device/radio/headset/heads/cmo/alt,
+ /obj/item/device/flash,
+ /obj/item/weapon/reagent_containers/hypospray/vial,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/medical,
+ /obj/item/clothing/shoes/boots/winter/medical,
+ /obj/item/weapon/storage/box/freezer,
+ /obj/item/clothing/mask/gas,
+ /obj/item/taperoll/medical,
+ /obj/item/clothing/suit/bio_suit/cmo,
+ /obj/item/clothing/head/bio_hood/cmo,
+ /obj/item/clothing/shoes/white)
+
+/obj/structure/closet/secure_closet/CMO/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/medic(src)
+ starts_with += /obj/item/weapon/storage/backpack/medic
else
- new /obj/item/weapon/storage/backpack/satchel/med(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/med(src)
- new /obj/item/clothing/suit/bio_suit/cmo(src)
- new /obj/item/clothing/head/bio_hood/cmo(src)
- new /obj/item/clothing/shoes/white(src)
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
- new /obj/item/clothing/under/rank/medical/scrubs(src)
- new /obj/item/clothing/head/surgery/blue(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs
+ starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
- new /obj/item/clothing/under/rank/medical/scrubs/green(src)
- new /obj/item/clothing/head/surgery/green(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
+ starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
- new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
- new /obj/item/clothing/head/surgery/purple(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
+ starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
- new /obj/item/clothing/under/rank/medical/scrubs/black(src)
- new /obj/item/clothing/head/surgery/black(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
+ starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
- new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
- new /obj/item/clothing/head/surgery/navyblue(src)
- new /obj/item/clothing/under/rank/chief_medical_officer(src)
- new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src)
- new /obj/item/weapon/cartridge/cmo(src)
- new /obj/item/clothing/gloves/sterile/latex(src)
- new /obj/item/clothing/shoes/brown (src)
- new /obj/item/device/radio/headset/heads/cmo(src)
- new /obj/item/device/radio/headset/heads/cmo/alt(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/reagent_containers/hypospray/vial(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src)
- new /obj/item/clothing/shoes/boots/winter/medical(src)
- new /obj/item/weapon/storage/box/freezer(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/taperoll/medical(src)
- return
-
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
+ starts_with += /obj/item/clothing/head/surgery/navyblue
+ return ..()
/obj/structure/closet/secure_closet/animal
name = "animal control closet"
req_access = list(access_surgery)
-
-/obj/structure/closet/secure_closet/animal/New()
- ..()
- new /obj/item/device/assembly/signaler(src)
- new /obj/item/device/radio/electropack(src)
- new /obj/item/device/radio/electropack(src)
- new /obj/item/device/radio/electropack(src)
- return
-
+ starts_with = list(
+ /obj/item/device/assembly/signaler,
+ /obj/item/device/radio/electropack = 3)
/obj/structure/closet/secure_closet/chemical
@@ -240,21 +215,15 @@
icon_off = "medicaloff"
req_access = list(access_chemistry)
+ starts_with = list(
+ /obj/item/weapon/storage/box/pillbottles = 2,
+ /obj/item/weapon/storage/box/beakers,
+ /obj/item/weapon/storage/box/autoinjectors,
+ /obj/item/weapon/storage/box/syringes,
+ /obj/item/weapon/reagent_containers/dropper = 2,
+ /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2,
+ /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2)
-/obj/structure/closet/secure_closet/chemical/New()
- ..()
- new /obj/item/weapon/storage/box/pillbottles(src)
- new /obj/item/weapon/storage/box/pillbottles(src)
- new /obj/item/weapon/storage/box/beakers(src)
- new /obj/item/weapon/storage/box/autoinjectors(src)
- new /obj/item/weapon/storage/box/syringes(src)
- new /obj/item/weapon/reagent_containers/dropper(src)
- new /obj/item/weapon/reagent_containers/dropper(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
- return
/obj/structure/closet/secure_closet/psych
name = "psychiatric closet"
@@ -267,25 +236,21 @@
icon_off = "medicaloff"
req_access = list(access_psychiatrist)
+ starts_with = list(
+ /obj/item/clothing/under/rank/psych,
+ /obj/item/clothing/under/rank/psych/turtleneck,
+ /obj/item/clothing/suit/straight_jacket,
+ /obj/item/weapon/reagent_containers/glass/bottle/stoxin,
+ /obj/item/weapon/reagent_containers/syringe,
+ /obj/item/weapon/storage/pill_bottle/citalopram,
+ /obj/item/weapon/reagent_containers/pill/methylphenidate,
+ /obj/item/weapon/clipboard,
+ /obj/item/weapon/folder/white,
+ /obj/item/device/taperecorder,
+ /obj/item/device/tape/random = 3,
+ /obj/item/device/camera,
+ /obj/item/toy/plushie/therapy/blue)
-/obj/structure/closet/secure_closet/psych/New()
- ..()
- new /obj/item/clothing/under/rank/psych(src)
- new /obj/item/clothing/under/rank/psych/turtleneck(src)
- new /obj/item/clothing/suit/straight_jacket(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/stoxin(src)
- new /obj/item/weapon/reagent_containers/syringe(src)
- new /obj/item/weapon/storage/pill_bottle/citalopram(src)
- new /obj/item/weapon/reagent_containers/pill/methylphenidate(src)
- new /obj/item/weapon/clipboard(src)
- new /obj/item/weapon/folder/white(src)
- new /obj/item/device/taperecorder(src)
- new /obj/item/device/tape/random(src)
- new /obj/item/device/tape/random(src)
- new /obj/item/device/tape/random(src)
- new /obj/item/device/camera(src)
- new /obj/item/toy/plushie/therapy/blue(src)
- return
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
@@ -318,25 +283,18 @@
/obj/structure/closet/secure_closet/medical_wall/pills
name = "pill cabinet"
-/obj/structure/closet/secure_closet/medical_wall/pills/New()
- ..()
- new /obj/item/weapon/storage/pill_bottle/tramadol(src)
- new /obj/item/weapon/storage/pill_bottle/antitox(src)
- new /obj/item/weapon/storage/pill_bottle/carbon(src)
- new /obj/random/medical/pillbottle(src)
- return
+ starts_with = list(
+ /obj/item/weapon/storage/pill_bottle/tramadol,
+ /obj/item/weapon/storage/pill_bottle/antitox,
+ /obj/item/weapon/storage/pill_bottle/carbon,
+ /obj/random/medical/pillbottle)
+
/obj/structure/closet/secure_closet/medical_wall/anesthetics
name = "anesthetics wall closet"
desc = "Used to knock people out."
req_access = list(access_surgery)
-/obj/structure/closet/secure_closet/medical_wall/anesthetics/New()
- ..()
- new /obj/item/weapon/tank/anesthetic(src)
- new /obj/item/weapon/tank/anesthetic(src)
- new /obj/item/weapon/tank/anesthetic(src)
- new /obj/item/clothing/mask/breath/medical(src)
- new /obj/item/clothing/mask/breath/medical(src)
- new /obj/item/clothing/mask/breath/medical(src)
- return
\ No newline at end of file
+ starts_with = list(
+ /obj/item/weapon/tank/anesthetic = 3,
+ /obj/item/clothing/mask/breath/medical = 3)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index 8665e985f7..b7a09db3c4 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -4,31 +4,23 @@
req_access = list(access_all_personal_lockers)
var/registered_name = null
-/obj/structure/closet/secure_closet/personal/New()
- ..()
- spawn(2)
- if(prob(50))
- new /obj/item/weapon/storage/backpack(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/norm(src)
- new /obj/item/device/radio/headset( src )
- return
+ starts_with = list(
+ /obj/item/device/radio/headset)
+/obj/structure/closet/secure_closet/personal/initialize()
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/norm
+ return ..()
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
-/obj/structure/closet/secure_closet/personal/patient/New()
- ..()
- spawn(4)
- // Not really the best way to do this, but it's better than "contents = list()"!
- for(var/atom/movable/AM in contents)
- qdel(AM)
- new /obj/item/clothing/under/medigown(src)
- new /obj/item/clothing/under/color/white( src )
- new /obj/item/clothing/shoes/white( src )
- return
-
+ starts_with = list(
+ /obj/item/clothing/under/medigown,
+ /obj/item/clothing/under/color/white,
+ /obj/item/clothing/shoes/white)
/obj/structure/closet/secure_closet/personal/cabinet
@@ -39,6 +31,11 @@
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
+ starts_with = list(
+ /obj/item/weapon/storage/backpack/satchel/withwallet,
+ /obj/item/device/radio/headset
+ )
+
/obj/structure/closet/secure_closet/personal/cabinet/update_icon()
if(broken)
icon_state = icon_broken
@@ -51,20 +48,11 @@
else
icon_state = icon_opened
-/obj/structure/closet/secure_closet/personal/cabinet/New()
- ..()
- spawn(4)
- // Not really the best way to do this, but it's better than "contents = list()"!
- for(var/atom/movable/AM in contents)
- qdel(AM)
- new /obj/item/weapon/storage/backpack/satchel/withwallet( src )
- new /obj/item/device/radio/headset( src )
- return
-
/obj/structure/closet/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (src.opened)
if (istype(W, /obj/item/weapon/grab))
- src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
+ var/obj/item/weapon/grab/G = W
+ src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
user.drop_item()
if (W) W.forceMove(src.loc)
else if(W.GetID())
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 570407026b..9d5c89833c 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -1,60 +1,56 @@
/obj/structure/closet/secure_closet/scientist
name = "scientist's locker"
- req_access = list(access_tox_storage)
icon_state = "secureres1"
icon_closed = "secureres"
icon_locked = "secureres1"
icon_opened = "secureresopen"
icon_broken = "secureresbroken"
icon_off = "secureresoff"
+ req_access = list(access_tox_storage)
- New()
- ..()
- new /obj/item/clothing/under/rank/scientist(src)
- //new /obj/item/clothing/suit/labcoat/science(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/shoes/white(src)
-// new /obj/item/weapon/cartridge/signal/science(src)
- new /obj/item/device/radio/headset/headset_sci(src)
- new /obj/item/weapon/tank/air(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src)
- new /obj/item/clothing/shoes/boots/winter/science(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
- else
- new /obj/item/weapon/storage/backpack/toxins(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/scientist,
+ /obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/shoes/white,
+ /obj/item/device/radio/headset/headset_sci,
+ /obj/item/weapon/tank/air,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/science,
+ /obj/item/clothing/shoes/boots/winter/science)
+/obj/structure/closet/secure_closet/scientist/initialize()
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
+ else
+ starts_with += /obj/item/weapon/storage/backpack/toxins
+ return ..()
/obj/structure/closet/secure_closet/RD
name = "research director's locker"
- req_access = list(access_rd)
icon_state = "rdsecure1"
icon_closed = "rdsecure"
icon_locked = "rdsecure1"
icon_opened = "rdsecureopen"
icon_broken = "rdsecurebroken"
icon_off = "rdsecureoff"
+ req_access = list(access_rd)
- New()
- ..()
- new /obj/item/clothing/suit/bio_suit/scientist(src)
- new /obj/item/clothing/head/bio_hood/scientist(src)
- new /obj/item/clothing/under/rank/research_director(src)
- new /obj/item/clothing/under/rank/research_director/rdalt(src)
- new /obj/item/clothing/under/rank/research_director/dress_rd(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/weapon/cartridge/rd(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/leather(src)
- new /obj/item/clothing/gloves/sterile/latex(src)
- new /obj/item/device/radio/headset/heads/rd(src)
- new /obj/item/device/radio/headset/heads/rd/alt(src)
- new /obj/item/weapon/tank/air(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/device/flash(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src)
- new /obj/item/clothing/shoes/boots/winter/science(src)
- return
+ starts_with = list(
+ /obj/item/clothing/suit/bio_suit/scientist,
+ /obj/item/clothing/head/bio_hood/scientist,
+ /obj/item/clothing/under/rank/research_director,
+ /obj/item/clothing/under/rank/research_director/rdalt,
+ /obj/item/clothing/under/rank/research_director/dress_rd,
+ /obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/weapon/cartridge/rd,
+ /obj/item/clothing/shoes/white,
+ /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/gloves/sterile/latex,
+ /obj/item/device/radio/headset/heads/rd,
+ /obj/item/device/radio/headset/heads/rd/alt,
+ /obj/item/weapon/tank/air,
+ /obj/item/clothing/mask/gas,
+ /obj/item/device/flash,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/science,
+ /obj/item/clothing/shoes/boots/winter/science)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index d55a521119..64ba461107 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -1,300 +1,273 @@
/obj/structure/closet/secure_closet/captains
name = "colony director's locker"
- req_access = list(access_captain)
icon_state = "capsecure1"
icon_closed = "capsecure"
icon_locked = "capsecure1"
icon_opened = "capsecureopen"
icon_broken = "capsecurebroken"
icon_off = "capsecureoff"
+ req_access = list(access_captain)
- New()
- ..()
- new /obj/item/weapon/storage/backpack/dufflebag/captain(src)
- new /obj/item/clothing/head/helmet(src)
- new /obj/item/clothing/suit/storage/vest(src)
- new /obj/item/weapon/cartridge/captain(src)
- new /obj/item/weapon/storage/lockbox/medal(src)
- new /obj/item/device/radio/headset/heads/captain(src)
- new /obj/item/device/radio/headset/heads/captain/alt(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/melee/telebaton(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/storage/box/ids(src)
- return
-
+ 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)
icon_state = "hopsecure1"
icon_closed = "hopsecure"
icon_locked = "hopsecure1"
icon_opened = "hopsecureopen"
icon_broken = "hopsecurebroken"
icon_off = "hopsecureoff"
+ req_access = list(access_hop)
- New()
- ..()
- new /obj/item/clothing/suit/storage/vest(src)
- new /obj/item/clothing/head/helmet(src)
- new /obj/item/weapon/cartridge/hop(src)
- new /obj/item/device/radio/headset/heads/hop(src)
- new /obj/item/device/radio/headset/heads/hop/alt(src)
- new /obj/item/weapon/storage/box/ids(src)
- new /obj/item/weapon/storage/box/ids( src )
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/gun/projectile/sec/flash(src)
- new /obj/item/device/flash(src)
- return
+ 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,
+ /obj/item/weapon/gun/projectile/sec/flash,
+ /obj/item/device/flash)
/obj/structure/closet/secure_closet/hop2
name = "head of personnel's attire"
- req_access = list(access_hop)
icon_state = "hopsecure1"
icon_closed = "hopsecure"
icon_locked = "hopsecure1"
icon_opened = "hopsecureopen"
icon_broken = "hopsecurebroken"
icon_off = "hopsecureoff"
+ req_access = list(access_hop)
- New()
- ..()
- new /obj/item/clothing/under/rank/head_of_personnel(src)
- new /obj/item/clothing/under/dress/dress_hop(src)
- new /obj/item/clothing/under/dress/dress_hr(src)
- new /obj/item/clothing/under/lawyer/female(src)
- new /obj/item/clothing/under/lawyer/black(src)
- new /obj/item/clothing/under/lawyer/black/skirt(src)
- new /obj/item/clothing/under/lawyer/red(src)
- new /obj/item/clothing/under/lawyer/red/skirt(src)
- new /obj/item/clothing/under/lawyer/oldman(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/leather(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/under/rank/head_of_personnel_whimsy(src)
- new /obj/item/clothing/head/caphat/hop(src)
- new /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit(src)
- new /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- return
-
+ 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/shoes/brown,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/shoes/white,
+ /obj/item/clothing/under/rank/head_of_personnel_whimsy,
+ /obj/item/clothing/head/caphat/hop,
+ /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit,
+ /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt,
+ /obj/item/clothing/glasses/sunglasses)
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
- req_access = list(access_hos)
icon_state = "hossecure1"
icon_closed = "hossecure"
icon_locked = "hossecure1"
icon_opened = "hossecureopen"
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
+ req_access = list(access_hos)
storage_capacity = 2.5 * MOB_MEDIUM
- New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
- new /obj/item/clothing/head/helmet/HoS(src)
- new /obj/item/clothing/head/helmet/HoS/hat(src)
- new /obj/item/clothing/suit/storage/vest/hos(src)
- new /obj/item/clothing/under/rank/head_of_security/jensen(src)
- new /obj/item/clothing/under/rank/head_of_security/corp(src)
- new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src)
- new /obj/item/clothing/suit/storage/vest/hoscoat(src)
- new /obj/item/clothing/head/helmet/dermal(src)
- new /obj/item/weapon/cartridge/hos(src)
- new /obj/item/device/radio/headset/heads/hos(src)
- new /obj/item/device/radio/headset/heads/hos/alt(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/taperoll/police(src)
- new /obj/item/weapon/shield/riot(src)
- new /obj/item/weapon/shield/riot/tele(src)
- new /obj/item/weapon/storage/box/holobadge/hos(src)
- new /obj/item/clothing/accessory/badge/holo/hos(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/weapon/crowbar/red(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/melee/baton/loaded(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/cell/device/weapon(src)
- new /obj/item/clothing/accessory/holster/waist(src)
- new /obj/item/weapon/melee/telebaton(src)
- new /obj/item/clothing/head/beret/sec/corporate/hos(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
- new /obj/item/clothing/shoes/boots/winter/security(src)
- new /obj/item/device/flashlight/maglight(src)
- new /obj/item/clothing/mask/gas/half(src)
- return
+ 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/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/energy/gun,
+ /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/shoes/boots/winter/security,
+ /obj/item/device/flashlight/maglight,
+ /obj/item/clothing/mask/gas/half)
+/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"
- req_access = list(access_armory)
icon_state = "wardensecure1"
icon_closed = "wardensecure"
icon_locked = "wardensecure1"
icon_opened = "wardensecureopen"
icon_broken = "wardensecurebroken"
icon_off = "wardensecureoff"
+ req_access = list(access_armory)
+ 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/head/helmet/dermal,
+ /obj/item/clothing/head/helmet/warden,
+ /obj/item/clothing/head/helmet/warden/hat,
+ /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/half)
- New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
- new /obj/item/clothing/suit/storage/vest/warden(src)
- new /obj/item/clothing/under/rank/warden(src)
- new /obj/item/clothing/under/rank/warden/corp(src)
- new /obj/item/clothing/suit/storage/vest/wardencoat(src)
- new /obj/item/clothing/suit/storage/vest/wardencoat/alt(src)
- new /obj/item/clothing/head/helmet/dermal(src)
- new /obj/item/clothing/head/helmet/warden(src)
- new /obj/item/clothing/head/helmet/warden/hat(src)
- new /obj/item/weapon/cartridge/security(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/device/radio/headset/headset_sec/alt(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/taperoll/police(src)
- new /obj/item/clothing/accessory/badge/holo/warden(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/weapon/melee/baton/loaded(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/cell/device/weapon(src)
- new /obj/item/weapon/storage/box/holobadge(src)
- new /obj/item/clothing/head/beret/sec/corporate/warden(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
- new /obj/item/clothing/shoes/boots/winter/security(src)
- new /obj/item/device/flashlight/maglight(src)
- new /obj/item/device/megaphone(src)
- new /obj/item/clothing/mask/gas/half(src)
- return
-
-
+/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)
icon_state = "sec1"
icon_closed = "sec"
icon_locked = "sec1"
icon_opened = "secopen"
icon_broken = "secbroken"
icon_off = "secoff"
+ req_access = list(access_brig)
- New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
- new /obj/item/clothing/suit/storage/vest/officer(src)
- new /obj/item/clothing/head/helmet(src)
- new /obj/item/weapon/cartridge/security(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/device/radio/headset/headset_sec/alt(src)
- new /obj/item/weapon/storage/belt/security(src)
- new /obj/item/device/flash(src)
- new /obj/item/weapon/reagent_containers/spray/pepper(src)
- new /obj/item/weapon/grenade/flashbang(src)
- new /obj/item/weapon/melee/baton/loaded(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/taperoll/police(src)
- new /obj/item/device/hailer(src)
- new /obj/item/device/flashlight/flare(src)
- new /obj/item/clothing/accessory/storage/black_vest(src)
- new /obj/item/clothing/head/soft/sec/corp(src)
- new /obj/item/clothing/under/rank/security/corp(src)
- new /obj/item/ammo_magazine/m45/rubber(src)
- new /obj/item/weapon/gun/energy/taser(src)
- new /obj/item/weapon/cell/device/weapon(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
- new /obj/item/clothing/shoes/boots/winter/security(src)
- new /obj/item/device/flashlight/maglight(src)
- return
+ starts_with = list(
+ /obj/item/clothing/suit/storage/vest/officer,
+ /obj/item/clothing/head/helmet,
+ /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/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
+ return ..()
-/obj/structure/closet/secure_closet/security/cargo
+/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 ..()
- New()
- ..()
- new /obj/item/clothing/accessory/armband/cargo(src)
- new /obj/item/device/encryptionkey/headset_cargo(src)
- 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/engine
+/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 ..()
- New()
- ..()
- new /obj/item/clothing/accessory/armband/engine(src)
- new /obj/item/device/encryptionkey/headset_eng(src)
- return
-
-/obj/structure/closet/secure_closet/security/science
-
- New()
- ..()
- new /obj/item/clothing/accessory/armband/science(src)
- new /obj/item/device/encryptionkey/headset_sci(src)
- return
-
-/obj/structure/closet/secure_closet/security/med
-
- New()
- ..()
- new /obj/item/clothing/accessory/armband/medblue(src)
- new /obj/item/device/encryptionkey/headset_med(src)
- 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)
icon_state = "cabinetdetective_locked"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
+ req_access = list(access_forensics_lockers)
- New()
- ..()
- new /obj/item/clothing/accessory/badge/holo/detective(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/gunbox(src)
- new /obj/item/weapon/storage/belt/detective(src)
- new /obj/item/weapon/storage/box/evidence(src)
- new /obj/item/device/radio/headset/headset_sec(src)
- new /obj/item/device/radio/headset/headset_sec/alt(src)
- new /obj/item/clothing/suit/storage/vest/detective(src)
- new /obj/item/taperoll/police(src)
- new /obj/item/clothing/accessory/holster/armpit(src)
- new /obj/item/device/flashlight/maglight(src)
- new /obj/item/weapon/reagent_containers/food/drinks/flask/detflask(src)
- new /obj/item/weapon/storage/briefcase/crimekit(src)
- new /obj/item/device/taperecorder(src)
- new /obj/item/device/tape/random(src)
- new /obj/item/device/tape/random(src)
- new /obj/item/device/tape/random(src)
- return
+ starts_with = list(
+ /obj/item/clothing/accessory/badge/holo/detective,
+ /obj/item/clothing/gloves/black,
+ /obj/item/gunbox,
+ /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/device/tape/random = 3)
/obj/structure/closet/secure_closet/detective/update_icon()
if(broken)
@@ -308,16 +281,13 @@
else
icon_state = icon_opened
+
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(access_captain)
-
- New()
- ..()
- new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src)
- new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src)
- return
+ 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)
@@ -327,40 +297,34 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br
anchored = 1
var/id = null
- New()
- ..()
- new /obj/item/clothing/under/color/orange( src )
- new /obj/item/clothing/shoes/orange( src )
- return
-
+ starts_with = list(
+ /obj/item/clothing/under/color/orange,
+ /obj/item/clothing/shoes/orange)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(access_lawyer)
- New()
- ..()
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/weapon/paper/Court (src)
- new /obj/item/weapon/paper/Court (src)
- new /obj/item/weapon/paper/Court (src)
- new /obj/item/weapon/pen (src)
- new /obj/item/clothing/suit/judgerobe (src)
- new /obj/item/clothing/head/powdered_wig (src)
- new /obj/item/weapon/storage/briefcase(src)
- return
+ 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)
icon_state = "wall-locker1"
- density = 1
icon_closed = "wall-locker"
icon_locked = "wall-locker1"
icon_opened = "wall-lockeropen"
icon_broken = "wall-lockerbroken"
icon_off = "wall-lockeroff"
+ req_access = list(access_security)
+ density = 1
//too small to put a man in
large = 0
diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
index 906e46dbe1..c247644246 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -5,77 +5,57 @@
icon_closed = "syndicate"
icon_opened = "syndicateopen"
-
/obj/structure/closet/syndicate/personal
desc = "It's a storage unit for operative gear."
-/obj/structure/closet/syndicate/personal/New()
- ..()
- new /obj/item/weapon/tank/jetpack/oxygen(src)
- new /obj/item/clothing/mask/gas/syndicate(src)
- new /obj/item/clothing/under/syndicate(src)
- new /obj/item/clothing/head/helmet/space/void/merc(src)
- new /obj/item/clothing/suit/space/void/merc(src)
- new /obj/item/weapon/crowbar/red(src)
- new /obj/item/weapon/cell/high(src)
- new /obj/item/weapon/card/id/syndicate(src)
- new /obj/item/device/multitool(src)
- new /obj/item/weapon/shield/energy(src)
- new /obj/item/clothing/shoes/magboots(src)
+ starts_with = list(
+ /obj/item/weapon/tank/jetpack/oxygen,
+ /obj/item/clothing/mask/gas/syndicate,
+ /obj/item/clothing/under/syndicate,
+ /obj/item/clothing/head/helmet/space/void/merc,
+ /obj/item/clothing/suit/space/void/merc,
+ /obj/item/weapon/crowbar/red,
+ /obj/item/weapon/cell/high,
+ /obj/item/weapon/card/id/syndicate,
+ /obj/item/device/multitool,
+ /obj/item/weapon/shield/energy,
+ /obj/item/clothing/shoes/magboots)
/obj/structure/closet/syndicate/suit
desc = "It's a storage unit for voidsuits."
-
-/obj/structure/closet/syndicate/suit/New()
- ..()
- new /obj/item/weapon/tank/jetpack/oxygen(src)
- new /obj/item/clothing/shoes/magboots(src)
- new /obj/item/clothing/suit/space/void/merc(src)
- new /obj/item/clothing/mask/gas/syndicate(src)
- new /obj/item/clothing/head/helmet/space/void/merc(src)
+
+ starts_with = list(
+ /obj/item/weapon/tank/jetpack/oxygen,
+ /obj/item/clothing/shoes/magboots,
+ /obj/item/clothing/suit/space/void/merc,
+ /obj/item/clothing/mask/gas/syndicate,
+ /obj/item/clothing/head/helmet/space/void/merc)
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for nuclear-operative gear."
-/obj/structure/closet/syndicate/nuclear/New()
- ..()
+ starts_with = list(
+ /obj/item/ammo_magazine/m10mm = 5,
+ /obj/item/weapon/storage/box/handcuffs,
+ /obj/item/weapon/storage/box/flashbangs,
+ /obj/item/weapon/gun/energy/gun = 5,
+ /obj/item/weapon/pinpointer/nukeop = 5,
+ /obj/item/device/pda/syndicate,
+ /obj/item/device/radio/uplink)
- new /obj/item/ammo_magazine/m10mm(src)
- new /obj/item/ammo_magazine/m10mm(src)
- new /obj/item/ammo_magazine/m10mm(src)
- new /obj/item/ammo_magazine/m10mm(src)
- new /obj/item/ammo_magazine/m10mm(src)
- new /obj/item/weapon/storage/box/handcuffs(src)
- new /obj/item/weapon/storage/box/flashbangs(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/weapon/pinpointer/nukeop(src)
- new /obj/item/weapon/pinpointer/nukeop(src)
- new /obj/item/weapon/pinpointer/nukeop(src)
- new /obj/item/weapon/pinpointer/nukeop(src)
- new /obj/item/weapon/pinpointer/nukeop(src)
- new /obj/item/device/pda/syndicate(src)
- new /obj/item/device/radio/uplink(src)
- //U.hidden_uplink.uses = 40
- return
-
-/obj/structure/closet/syndicate/resources/
+/obj/structure/closet/syndicate/resources
desc = "An old, dusty locker."
- New()
- ..()
+/obj/structure/closet/syndicate/resources/initialize()
+ . = ..()
+ if(!contents.len)
var/common_min = 30 //Minimum amount of minerals in the stack for common minerals
var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals
var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals
var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK
-
-
var/pickednum = rand(1, 50)
//Sad trombone
@@ -120,13 +100,11 @@
if(pickednum == 50)
new /obj/item/weapon/tank/jetpack/carbondioxide(src)
- return
-
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
- New()
- var/list/resources = list(
+/obj/structure/closet/syndicate/resources/everything/initialize()
+ var/list/resources = list(
/obj/item/stack/material/steel,
/obj/item/stack/material/glass,
/obj/item/stack/material/gold,
@@ -136,12 +114,11 @@
/obj/item/stack/material/diamond,
/obj/item/stack/material/plasteel,
/obj/item/stack/rods
- )
+ )
+ for(var/i = 0, i<2, i++)
+ for(var/res in resources)
+ var/obj/item/stack/R = new res(src)
+ R.amount = R.max_amount
- for(var/i = 0, i<2, i++)
- for(var/res in resources)
- var/obj/item/stack/R = new res(src)
- R.amount = R.max_amount
-
- return
+ return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 2399bfc759..5b98c87f42 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -14,48 +14,46 @@
*/
/obj/structure/closet/emcloset
name = "emergency closet"
- desc = "It's a storage unit for emergency breathmasks and o2 tanks."
+ desc = "It's a storage unit for emergency breathmasks and O2 tanks."
icon_state = "emergency"
icon_closed = "emergency"
icon_opened = "emergencyopen"
-/obj/structure/closet/emcloset/New()
- ..()
-
+/obj/structure/closet/emcloset/initialize()
switch (pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10)))
if ("small")
- new /obj/item/weapon/tank/emergency/oxygen(src)
- new /obj/item/weapon/tank/emergency/oxygen(src)
- new /obj/item/clothing/mask/breath(src)
- new /obj/item/clothing/mask/breath(src)
- new /obj/item/clothing/suit/space/emergency(src)
- new /obj/item/clothing/head/helmet/space/emergency(src)
+ starts_with = list(
+ /obj/item/weapon/tank/emergency/oxygen = 2,
+ /obj/item/clothing/mask/breath = 2,
+ /obj/item/clothing/suit/space/emergency,
+ /obj/item/clothing/head/helmet/space/emergency)
if ("aid")
- new /obj/item/weapon/tank/emergency/oxygen(src)
- new /obj/item/weapon/storage/toolbox/emergency(src)
- new /obj/item/clothing/mask/breath(src)
- new /obj/item/weapon/storage/firstaid/o2(src)
- new /obj/item/clothing/suit/space/emergency(src)
- new /obj/item/clothing/head/helmet/space/emergency(src)
+ starts_with = list(
+ /obj/item/weapon/tank/emergency/oxygen,
+ /obj/item/weapon/storage/toolbox/emergency,
+ /obj/item/clothing/mask/breath,
+ /obj/item/weapon/storage/firstaid/o2,
+ /obj/item/clothing/suit/space/emergency,
+ /obj/item/clothing/head/helmet/space/emergency)
if ("tank")
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/clothing/mask/breath(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/clothing/mask/breath(src)
+ starts_with = list(
+ /obj/item/weapon/tank/emergency/oxygen/engi = 2,
+ /obj/item/clothing/mask/breath = 2)
if ("both")
- new /obj/item/weapon/storage/toolbox/emergency(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/clothing/mask/breath(src)
- new /obj/item/weapon/storage/firstaid/o2(src)
- new /obj/item/clothing/suit/space/emergency(src)
- new /obj/item/clothing/suit/space/emergency(src)
- new /obj/item/clothing/head/helmet/space/emergency(src)
- new /obj/item/clothing/head/helmet/space/emergency(src)
+ starts_with = list(
+ /obj/item/weapon/storage/toolbox/emergency,
+ /obj/item/weapon/tank/emergency/oxygen/engi,
+ /obj/item/clothing/mask/breath,
+ /obj/item/weapon/storage/firstaid/o2,
+ /obj/item/clothing/suit/space/emergency = 2,
+ /obj/item/clothing/head/helmet/space/emergency = 2)
-/obj/structure/closet/emcloset/legacy/New()
- ..()
- new /obj/item/weapon/tank/oxygen(src)
- new /obj/item/clothing/mask/gas(src)
+ return ..()
+
+/obj/structure/closet/emcloset/legacy
+ starts_with = list(
+ /obj/item/weapon/tank/oxygen,
+ /obj/item/clothing/mask/gas)
/*
* Fire Closet
@@ -67,35 +65,30 @@
icon_closed = "firecloset"
icon_opened = "fireclosetopen"
-/obj/structure/closet/firecloset/New()
- ..()
+ starts_with = list(
+ /obj/item/clothing/suit/fire/firefighter,
+ /obj/item/clothing/mask/gas,
+ /obj/item/weapon/tank/oxygen/red,
+ /obj/item/weapon/extinguisher,
+ /obj/item/clothing/head/hardhat/red)
- new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/weapon/tank/oxygen/red(src)
- new /obj/item/weapon/extinguisher(src)
- new /obj/item/clothing/head/hardhat/red(src)
+/obj/structure/closet/firecloset/full
+ starts_with = list(
+ /obj/item/clothing/suit/fire/firefighter,
+ /obj/item/clothing/mask/gas,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank/oxygen/red,
+ /obj/item/weapon/extinguisher,
+ /obj/item/clothing/head/hardhat/red)
-/obj/structure/closet/firecloset/full/New()
- ..()
- sleep(4)
- contents = list()
-
- new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/tank/oxygen/red(src)
- new /obj/item/weapon/extinguisher(src)
- new /obj/item/clothing/head/hardhat/red(src)
-
-/obj/structure/closet/firecloset/full/double/New()
- ..()
- new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/tank/oxygen/red(src)
- new /obj/item/weapon/extinguisher(src)
- new /obj/item/clothing/head/hardhat/red(src)
+/obj/structure/closet/firecloset/full/double
+ starts_with = list(
+ /obj/item/clothing/suit/fire/firefighter = 2,
+ /obj/item/clothing/mask/gas = 2,
+ /obj/item/device/flashlight = 2,
+ /obj/item/weapon/tank/oxygen/red = 2,
+ /obj/item/weapon/extinguisher = 2,
+ /obj/item/clothing/head/hardhat/red = 2)
/obj/structure/closet/firecloset/update_icon()
if(!opened)
@@ -103,7 +96,6 @@
else
icon_state = icon_opened
-
/*
* Tool Closet
*/
@@ -114,39 +106,40 @@
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
-/obj/structure/closet/toolcloset/New()
- ..()
+/obj/structure/closet/toolcloset/initialize()
+ starts_with = list()
if(prob(40))
- new /obj/item/clothing/suit/storage/hazardvest(src)
+ starts_with += /obj/item/clothing/suit/storage/hazardvest
if(prob(70))
- new /obj/item/device/flashlight(src)
+ starts_with += /obj/item/device/flashlight
if(prob(70))
- new /obj/item/weapon/screwdriver(src)
+ starts_with += /obj/item/weapon/screwdriver
if(prob(70))
- new /obj/item/weapon/wrench(src)
+ starts_with += /obj/item/weapon/wrench
if(prob(70))
- new /obj/item/weapon/weldingtool(src)
+ starts_with += /obj/item/weapon/weldingtool
if(prob(70))
- new /obj/item/weapon/crowbar(src)
+ starts_with += /obj/item/weapon/crowbar
if(prob(70))
- new /obj/item/weapon/wirecutters(src)
+ starts_with += /obj/item/weapon/wirecutters
if(prob(70))
- new /obj/item/device/t_scanner(src)
+ starts_with += /obj/item/device/t_scanner
if(prob(20))
- new /obj/item/weapon/storage/belt/utility(src)
+ starts_with += /obj/item/weapon/storage/belt/utility
if(prob(30))
- new /obj/item/stack/cable_coil/random(src)
+ starts_with += /obj/item/stack/cable_coil/random
if(prob(30))
- new /obj/item/stack/cable_coil/random(src)
+ starts_with += /obj/item/stack/cable_coil/random
if(prob(30))
- new /obj/item/stack/cable_coil/random(src)
+ starts_with += /obj/item/stack/cable_coil/random
if(prob(20))
- new /obj/item/device/multitool(src)
+ starts_with += /obj/item/device/multitool
if(prob(5))
- new /obj/item/clothing/gloves/yellow(src)
+ starts_with += /obj/item/clothing/gloves/yellow
if(prob(40))
- new /obj/item/clothing/head/hardhat(src)
+ starts_with += /obj/item/clothing/head/hardhat
+ return ..()
/*
* Radiation Closet
@@ -158,14 +151,9 @@
icon_opened = "toolclosetopen"
icon_closed = "radsuitcloset"
-/obj/structure/closet/radiation/New()
- ..()
- new /obj/item/clothing/suit/radiation(src)
- new /obj/item/clothing/head/radiation(src)
- new /obj/item/clothing/suit/radiation(src)
- new /obj/item/clothing/head/radiation(src)
- new /obj/item/device/geiger(src)
- new /obj/item/device/geiger(src)
+ starts_with = list(
+ /obj/item/clothing/suit/radiation = 4,
+ /obj/item/device/geiger = 2)
/*
* Bombsuit closet
@@ -177,19 +165,18 @@
icon_closed = "bombsuit"
icon_opened = "bombsuitopen"
-/obj/structure/closet/bombcloset/New()
- ..()
- new /obj/item/clothing/suit/bomb_suit( src )
- new /obj/item/clothing/under/color/black( src )
- new /obj/item/clothing/shoes/black( src )
- new /obj/item/clothing/head/bomb_hood( src )
+ starts_with = list(
+ /obj/item/clothing/suit/bomb_suit,
+ /obj/item/clothing/under/color/black,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/head/bomb_hood)
-/obj/structure/closet/bombcloset/double/New() // Makes two suits.
- ..()
- new /obj/item/clothing/suit/bomb_suit( src )
- new /obj/item/clothing/under/color/black( src )
- new /obj/item/clothing/shoes/black( src )
- new /obj/item/clothing/head/bomb_hood( src )
+/obj/structure/closet/bombcloset/double
+ starts_with = list(
+ /obj/item/clothing/suit/bomb_suit = 2,
+ /obj/item/clothing/under/color/black = 2,
+ /obj/item/clothing/shoes/black = 2,
+ /obj/item/clothing/head/bomb_hood = 2)
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
@@ -198,12 +185,11 @@
icon_closed = "bombsuitsec"
icon_opened = "bombsuitsecopen"
-/obj/structure/closet/bombclosetsecurity/New()
- ..()
- new /obj/item/clothing/suit/bomb_suit/security( src )
- new /obj/item/clothing/under/rank/security( src )
- new /obj/item/clothing/shoes/brown( src )
- new /obj/item/clothing/head/bomb_hood/security( src )
+ starts_with = list(
+ /obj/item/clothing/suit/bomb_suit/security,
+ /obj/item/clothing/under/rank/security,
+ /obj/item/clothing/shoes/brown,
+ /obj/item/clothing/head/bomb_hood/security)
/*
* Hydrant
@@ -220,14 +206,13 @@
density = 0
wall_mounted = 1
-/obj/structure/closet/hydrant/New()
- ..()
- new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/tank/oxygen/red(src)
- new /obj/item/weapon/extinguisher(src)
- new /obj/item/clothing/head/hardhat/red(src)
+ starts_with = list(
+ /obj/item/clothing/suit/fire/firefighter,
+ /obj/item/clothing/mask/gas,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank/oxygen/red,
+ /obj/item/weapon/extinguisher,
+ /obj/item/clothing/head/hardhat/red)
/*
* First Aid
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 3bb6f6c87e..2a7d883d95 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -9,54 +9,34 @@
icon_state = "red"
icon_closed = "red"
-/obj/structure/closet/wardrobe/red/New()
- ..()
- if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
- new /obj/item/clothing/under/rank/security(src)
- new /obj/item/clothing/under/rank/security(src)
- new /obj/item/clothing/under/rank/security(src)
- new /obj/item/clothing/under/rank/security2(src)
- new /obj/item/clothing/under/rank/security2(src)
- new /obj/item/clothing/under/rank/security2(src)
- new /obj/item/clothing/under/rank/security/skirt(src)
- new /obj/item/clothing/under/rank/security/skirt(src)
- new /obj/item/clothing/shoes/boots/jackboots(src)
- new /obj/item/clothing/shoes/boots/jackboots(src)
- new /obj/item/clothing/shoes/boots/jackboots(src)
- new /obj/item/clothing/head/soft/sec(src)
- new /obj/item/clothing/head/soft/sec(src)
- new /obj/item/clothing/head/soft/sec(src)
- new /obj/item/clothing/head/beret/sec(src)
- new /obj/item/clothing/head/beret/sec(src)
- new /obj/item/clothing/head/beret/sec(src)
- new /obj/item/clothing/head/beret/sec/corporate/officer(src)
- new /obj/item/clothing/head/beret/sec/corporate/officer(src)
- new /obj/item/clothing/head/beret/sec/corporate/officer(src)
- new /obj/item/clothing/mask/bandana/red(src)
- new /obj/item/clothing/mask/bandana/red(src)
- new /obj/item/clothing/mask/bandana/red(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
- new /obj/item/clothing/accessory/armband(src)
- new /obj/item/clothing/accessory/armband(src)
- new /obj/item/clothing/accessory/armband(src)
- new /obj/item/clothing/accessory/holster/waist(src)
- new /obj/item/clothing/accessory/holster/waist(src)
- new /obj/item/clothing/accessory/holster/waist(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/security = 3,
+ /obj/item/clothing/under/rank/security2 = 3,
+ /obj/item/clothing/under/rank/security/skirt = 2,
+ /obj/item/clothing/shoes/boots/jackboots = 3,
+ /obj/item/clothing/head/soft/sec = 3,
+ /obj/item/clothing/head/beret/sec = 3,
+ /obj/item/clothing/head/beret/sec/corporate/officer = 3,
+ /obj/item/clothing/mask/bandana/red = 3,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/security = 3,
+ /obj/item/clothing/accessory/armband = 3,
+ /obj/item/clothing/accessory/holster/waist = 3)
+/obj/structure/closet/wardrobe/red/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/security
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/sec
+ if(prob(50))
+ starts_with += /obj/item/weapon/storage/backpack/security
+ else
+ starts_with += /obj/item/weapon/storage/backpack/satchel/sec
+
+ return ..()
/obj/structure/closet/wardrobe/detective
name = "detective wardrobe"
@@ -64,78 +44,44 @@
icon_closed = "cabinet_closed"
icon_opened = "cabinet_open"
-/obj/structure/closet/wardrobe/detective/New()
- ..()
- new /obj/item/clothing/head/det(src)
- new /obj/item/clothing/head/det(src)
- new /obj/item/clothing/head/det/grey(src)
- new /obj/item/clothing/head/det/grey(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/laceup(src)
- new /obj/item/clothing/shoes/laceup(src)
- new /obj/item/clothing/under/det(src)
- new /obj/item/clothing/under/det(src)
- new /obj/item/clothing/under/det/waistcoat(src)
- new /obj/item/clothing/under/det/waistcoat(src)
- new /obj/item/clothing/under/det/grey(src)
- new /obj/item/clothing/under/det/grey(src)
- new /obj/item/clothing/under/det/grey/waistcoat(src)
- new /obj/item/clothing/under/det/grey/waistcoat(src)
- new /obj/item/clothing/under/det/black(src)
- new /obj/item/clothing/under/det/black(src)
- new /obj/item/clothing/under/det/skirt(src)
- new /obj/item/clothing/under/det/corporate(src)
- new /obj/item/clothing/under/det/corporate(src)
- new /obj/item/clothing/suit/storage/det_trench(src)
- new /obj/item/clothing/suit/storage/det_trench(src)
- new /obj/item/clothing/suit/storage/det_trench/grey(src)
- new /obj/item/clothing/suit/storage/det_trench/grey(src)
- new /obj/item/clothing/suit/storage/forensics/blue(src)
- new /obj/item/clothing/suit/storage/forensics/blue(src)
- new /obj/item/clothing/suit/storage/forensics/red(src)
- new /obj/item/clothing/suit/storage/forensics/red(src)
- return
+ starts_with = list(
+ /obj/item/clothing/head/det = 2,
+ /obj/item/clothing/head/det/grey = 2,
+ /obj/item/clothing/shoes/brown = 2,
+ /obj/item/clothing/shoes/laceup = 2,
+ /obj/item/clothing/under/det = 2,
+ /obj/item/clothing/under/det/waistcoat = 2,
+ /obj/item/clothing/under/det/grey = 2,
+ /obj/item/clothing/under/det/grey/waistcoat = 2,
+ /obj/item/clothing/under/det/black = 2,
+ /obj/item/clothing/under/det/skirt,
+ /obj/item/clothing/under/det/corporate = 2,
+ /obj/item/clothing/suit/storage/det_trench = 2,
+ /obj/item/clothing/suit/storage/det_trench/grey = 2,
+ /obj/item/clothing/suit/storage/forensics/blue = 2,
+ /obj/item/clothing/suit/storage/forensics/red = 2)
/obj/structure/closet/wardrobe/pink
name = "pink wardrobe"
icon_state = "pink"
icon_closed = "pink"
-/obj/structure/closet/wardrobe/pink/New()
- ..()
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/shoes/brown(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/color/pink = 3,
+ /obj/item/clothing/shoes/brown = 3)
/obj/structure/closet/wardrobe/black
name = "black wardrobe"
icon_state = "black"
icon_closed = "black"
-/obj/structure/closet/wardrobe/black/New()
- ..()
- new /obj/item/clothing/under/color/black(src)
- new /obj/item/clothing/under/color/black(src)
- new /obj/item/clothing/under/color/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/head/that(src)
- new /obj/item/clothing/head/soft/black(src)
- new /obj/item/clothing/head/soft/black(src)
- new /obj/item/clothing/head/soft/black(src)
- new /obj/item/clothing/mask/bandana(src)
- new /obj/item/clothing/mask/bandana(src)
- new /obj/item/clothing/mask/bandana(src)
- new /obj/item/weapon/storage/backpack/messenger/black(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/color/black = 3,
+ /obj/item/clothing/shoes/black = 3,
+ /obj/item/clothing/head/that = 3,
+ /obj/item/clothing/head/soft/black = 3,
+ /obj/item/clothing/mask/bandana = 3,
+ /obj/item/weapon/storage/backpack/messenger/black)
/obj/structure/closet/wardrobe/chaplain_black
@@ -144,21 +90,18 @@
icon_state = "black"
icon_closed = "black"
-/obj/structure/closet/wardrobe/chaplain_black/New()
- ..()
- new /obj/item/clothing/under/rank/chaplain(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/suit/nun(src)
- new /obj/item/clothing/head/nun_hood(src)
- new /obj/item/clothing/suit/storage/hooded/chaplain_hoodie(src)
- new /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout(src)
- new /obj/item/clothing/suit/holidaypriest(src)
- new /obj/item/clothing/under/wedding/bride_white(src)
- new /obj/item/weapon/storage/backpack/cultpack (src)
- new /obj/item/weapon/storage/fancy/candle_box(src)
- new /obj/item/weapon/storage/fancy/candle_box(src)
- new /obj/item/weapon/deck/tarot(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/chaplain,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/suit/nun,
+ /obj/item/clothing/head/nun_hood,
+ /obj/item/clothing/suit/storage/hooded/chaplain_hoodie,
+ /obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout,
+ /obj/item/clothing/suit/holidaypriest,
+ /obj/item/clothing/under/wedding/bride_white,
+ /obj/item/weapon/storage/backpack/cultpack,
+ /obj/item/weapon/storage/fancy/candle_box = 2,
+ /obj/item/weapon/deck/tarot)
/obj/structure/closet/wardrobe/green
@@ -166,40 +109,24 @@
icon_state = "green"
icon_closed = "green"
-/obj/structure/closet/wardrobe/green/New()
- ..()
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/shoes/green(src)
- new /obj/item/clothing/shoes/green(src)
- new /obj/item/clothing/shoes/green(src)
- new /obj/item/clothing/head/soft/green(src)
- new /obj/item/clothing/head/soft/green(src)
- new /obj/item/clothing/head/soft/green(src)
- new /obj/item/clothing/mask/bandana/green(src)
- new /obj/item/clothing/mask/bandana/green(src)
- new /obj/item/clothing/mask/bandana/green(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/color/green = 3,
+ /obj/item/clothing/shoes/green = 3,
+ /obj/item/clothing/head/soft/green = 3,
+ /obj/item/clothing/mask/bandana/green = 3)
/obj/structure/closet/wardrobe/xenos
name = "xenos wardrobe"
icon_state = "green"
icon_closed = "green"
-/obj/structure/closet/wardrobe/xenos/New()
- ..()
- new /obj/item/clothing/suit/unathi/mantle(src)
- new /obj/item/clothing/suit/unathi/robe(src)
- new /obj/item/clothing/shoes/sandal(src)
- new /obj/item/clothing/shoes/sandal(src)
- new /obj/item/clothing/shoes/footwraps(src)
- new /obj/item/clothing/shoes/footwraps(src)
- new /obj/item/clothing/shoes/boots/winter(src)
- new /obj/item/clothing/shoes/boots/winter(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat(src)
- return
+ starts_with = list(
+ /obj/item/clothing/suit/unathi/mantle,
+ /obj/item/clothing/suit/unathi/robe,
+ /obj/item/clothing/shoes/sandal = 2,
+ /obj/item/clothing/shoes/footwraps = 2,
+ /obj/item/clothing/shoes/boots/winter = 2,
+ /obj/item/clothing/suit/storage/hooded/wintercoat = 2)
/obj/structure/closet/wardrobe/orange
@@ -208,15 +135,9 @@
icon_state = "orange"
icon_closed = "orange"
-/obj/structure/closet/wardrobe/orange/New()
- ..()
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/under/color/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/color/orange = 3,
+ /obj/item/clothing/shoes/orange = 3)
/obj/structure/closet/wardrobe/yellow
@@ -224,21 +145,11 @@
icon_state = "yellow"
icon_closed = "yellow"
-/obj/structure/closet/wardrobe/yellow/New()
- ..()
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/shoes/yellow(src)
- new /obj/item/clothing/shoes/yellow(src)
- new /obj/item/clothing/shoes/yellow(src)
- new /obj/item/clothing/head/soft/yellow(src)
- new /obj/item/clothing/head/soft/yellow(src)
- new /obj/item/clothing/head/soft/yellow(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/color/yellow = 3,
+ /obj/item/clothing/shoes/yellow = 3,
+ /obj/item/clothing/head/soft/yellow = 3,
+ /obj/item/clothing/mask/bandana/gold = 3)
/obj/structure/closet/wardrobe/atmospherics_yellow
@@ -246,88 +157,42 @@
icon_state = "yellow"
icon_closed = "yellow"
-/obj/structure/closet/wardrobe/atmospherics_yellow/New()
- ..()
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
- new /obj/item/clothing/under/rank/atmospheric_technician(src)
- new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src)
- new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src)
- new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/head/hardhat/red(src)
- new /obj/item/clothing/head/hardhat/red(src)
- new /obj/item/clothing/head/hardhat/red(src)
- new /obj/item/clothing/head/beret/engineering(src)
- new /obj/item/clothing/head/beret/engineering(src)
- new /obj/item/clothing/head/beret/engineering(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src)
- new /obj/item/clothing/shoes/boots/winter/atmos(src)
- new /obj/item/clothing/shoes/boots/winter/atmos(src)
- new /obj/item/clothing/shoes/boots/winter/atmos(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/atmospheric_technician = 3,
+ /obj/item/clothing/under/rank/atmospheric_technician/skirt = 3,
+ /obj/item/clothing/shoes/black = 3,
+ /obj/item/clothing/head/hardhat/red = 3,
+ /obj/item/clothing/head/beret/engineering = 3,
+ /obj/item/clothing/mask/bandana/gold = 3,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 3,
+ /obj/item/clothing/shoes/boots/winter/atmos = 3)
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
icon_state = "yellow"
icon_closed = "yellow"
-/obj/structure/closet/wardrobe/engineering_yellow/New()
- ..()
- new /obj/item/clothing/under/rank/engineer(src)
- new /obj/item/clothing/under/rank/engineer(src)
- new /obj/item/clothing/under/rank/engineer(src)
- new /obj/item/clothing/under/rank/engineer/skirt(src)
- new /obj/item/clothing/under/rank/engineer/skirt(src)
- new /obj/item/clothing/under/rank/engineer/skirt(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/shoes/orange(src)
- new /obj/item/clothing/head/hardhat(src)
- new /obj/item/clothing/head/hardhat(src)
- new /obj/item/clothing/head/hardhat(src)
- new /obj/item/clothing/head/beret/engineering(src)
- new /obj/item/clothing/head/beret/engineering(src)
- new /obj/item/clothing/head/beret/engineering(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/mask/bandana/gold(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src)
- new /obj/item/clothing/shoes/boots/winter/engineering(src)
- new /obj/item/clothing/shoes/boots/winter/engineering(src)
- new /obj/item/clothing/shoes/boots/winter/engineering(src)
- new /obj/item/clothing/shoes/boots/workboots(src)
- new /obj/item/clothing/shoes/boots/workboots(src)
- new /obj/item/clothing/shoes/boots/workboots(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/engineer = 3,
+ /obj/item/clothing/under/rank/engineer/skirt = 3,
+ /obj/item/clothing/shoes/orange = 3,
+ /obj/item/clothing/head/hardhat = 3,
+ /obj/item/clothing/head/beret/engineering = 3,
+ /obj/item/clothing/mask/bandana/gold = 3,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 3,
+ /obj/item/clothing/shoes/boots/winter/engineering = 3,
+ /obj/item/clothing/shoes/boots/workboots = 3)
/obj/structure/closet/wardrobe/white
name = "white wardrobe"
icon_state = "white"
icon_closed = "white"
-
-/obj/structure/closet/wardrobe/white/New()
- ..()
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/under/color/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/head/soft/mime(src)
- new /obj/item/clothing/head/soft/mime(src)
- new /obj/item/clothing/head/soft/mime(src)
- return
+
+ starts_with = list(
+ /obj/item/clothing/under/color/white = 3,
+ /obj/item/clothing/shoes/white = 3,
+ /obj/item/clothing/head/soft/mime = 3)
/obj/structure/closet/wardrobe/pjs
@@ -335,17 +200,11 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/pjs/New()
- ..()
- new /obj/item/clothing/under/pj/red(src)
- new /obj/item/clothing/under/pj/red(src)
- new /obj/item/clothing/under/pj/blue(src)
- new /obj/item/clothing/under/pj/blue(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/slippers(src)
- new /obj/item/clothing/shoes/slippers(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/pj/red = 2,
+ /obj/item/clothing/under/pj/blue = 2,
+ /obj/item/clothing/shoes/white = 2,
+ /obj/item/clothing/shoes/slippers = 2)
/obj/structure/closet/wardrobe/science_white
@@ -353,60 +212,50 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/science_white/New()
- ..()
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/under/rank/scientist/skirt(src)
- new /obj/item/clothing/under/rank/scientist/skirt(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/slippers(src)
- new /obj/item/clothing/shoes/slippers(src)
- new /obj/item/clothing/shoes/slippers(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src)
- new /obj/item/clothing/shoes/boots/winter/science(src)
- new /obj/item/weapon/storage/backpack/toxins(src)
- new /obj/item/weapon/storage/backpack/satchel/tox(src)
+ starts_with = list(
+ /obj/item/clothing/under/rank/scientist = 3,
+ /obj/item/clothing/under/rank/scientist/skirt = 2,
+ /obj/item/clothing/suit/storage/toggle/labcoat = 3,
+ /obj/item/clothing/shoes/white = 3,
+ /obj/item/clothing/shoes/slippers = 3,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/science,
+ /obj/item/clothing/shoes/boots/winter/science,
+ /obj/item/weapon/storage/backpack/toxins,
+ /obj/item/weapon/storage/backpack/satchel/tox)
+
+/obj/structure/closet/wardrobe/science_white/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
- new /obj/item/weapon/storage/backpack/satchel/tox(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/tox
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
- new /obj/item/weapon/storage/backpack/satchel/tox(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/tox
+
+ return ..()
+
+
/obj/structure/closet/wardrobe/robotics_black
name = "robotics wardrobe"
icon_state = "black"
icon_closed = "black"
-/obj/structure/closet/wardrobe/robotics_black/New()
- ..()
- new /obj/item/clothing/under/rank/roboticist(src)
- new /obj/item/clothing/under/rank/roboticist(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/weapon/storage/backpack/toxins(src)
+ starts_with = list(
+ /obj/item/clothing/under/rank/roboticist = 2,
+ /obj/item/clothing/suit/storage/toggle/labcoat = 2,
+ /obj/item/clothing/shoes/black = 2,
+ /obj/item/clothing/gloves/black = 2,
+ /obj/item/weapon/storage/backpack/toxins,
+ /obj/item/weapon/storage/backpack/satchel/tox)
+
+/obj/structure/closet/wardrobe/robotics_black/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
- new /obj/item/weapon/storage/backpack/satchel/tox(src)
- new /obj/item/weapon/storage/backpack/satchel/tox(src)
- if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sci(src)
- else
- new /obj/item/weapon/storage/backpack/satchel/tox(src)
- return
+ starts_with += /obj/item/weapon/storage/backpack/satchel/tox
+
+ return ..()
/obj/structure/closet/wardrobe/chemistry_white
@@ -414,23 +263,14 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/chemistry_white/New()
- ..()
- new /obj/item/clothing/under/rank/chemist(src)
- new /obj/item/clothing/under/rank/chemist(src)
- new /obj/item/clothing/under/rank/chemist/skirt(src)
- new /obj/item/clothing/under/rank/chemist/skirt(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src)
- new /obj/item/weapon/storage/backpack/chemistry(src)
- new /obj/item/weapon/storage/backpack/chemistry(src)
- new /obj/item/weapon/storage/backpack/satchel/chem(src)
- new /obj/item/weapon/storage/backpack/satchel/chem(src)
- new /obj/item/weapon/storage/bag/chemistry(src)
- new /obj/item/weapon/storage/bag/chemistry(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/chemist = 2,
+ /obj/item/clothing/under/rank/chemist/skirt = 2,
+ /obj/item/clothing/shoes/white = 2,
+ /obj/item/clothing/suit/storage/toggle/labcoat/chemist = 2,
+ /obj/item/weapon/storage/backpack/chemistry = 2,
+ /obj/item/weapon/storage/backpack/satchel/chem = 2,
+ /obj/item/weapon/storage/bag/chemistry = 2,)
/obj/structure/closet/wardrobe/genetics_white
@@ -438,21 +278,13 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/genetics_white/New()
- ..()
- new /obj/item/clothing/under/rank/geneticist(src)
- new /obj/item/clothing/under/rank/geneticist(src)
- new /obj/item/clothing/under/rank/geneticist/skirt(src)
- new /obj/item/clothing/under/rank/geneticist/skirt(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src)
- new /obj/item/weapon/storage/backpack/genetics(src)
- new /obj/item/weapon/storage/backpack/genetics(src)
- new /obj/item/weapon/storage/backpack/satchel/gen(src)
- new /obj/item/weapon/storage/backpack/satchel/gen(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/geneticist = 2,
+ /obj/item/clothing/under/rank/geneticist/skirt = 2,
+ /obj/item/clothing/shoes/white = 2,
+ /obj/item/clothing/suit/storage/toggle/labcoat/genetics = 2,
+ /obj/item/weapon/storage/backpack/genetics = 2,
+ /obj/item/weapon/storage/backpack/satchel/gen = 2)
/obj/structure/closet/wardrobe/virology_white
@@ -460,23 +292,14 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/virology_white/New()
- ..()
- new /obj/item/clothing/under/rank/virologist(src)
- new /obj/item/clothing/under/rank/virologist(src)
- new /obj/item/clothing/under/rank/virologist/skirt(src)
- new /obj/item/clothing/under/rank/virologist/skirt(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src)
- new /obj/item/clothing/mask/surgical(src)
- new /obj/item/clothing/mask/surgical(src)
- new /obj/item/weapon/storage/backpack/virology(src)
- new /obj/item/weapon/storage/backpack/virology(src)
- new /obj/item/weapon/storage/backpack/satchel/vir(src)
- new /obj/item/weapon/storage/backpack/satchel/vir(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/virologist = 2,
+ /obj/item/clothing/under/rank/virologist/skirt = 2,
+ /obj/item/clothing/shoes/white = 2,
+ /obj/item/clothing/suit/storage/toggle/labcoat/virologist = 2,
+ /obj/item/clothing/mask/surgical = 2,
+ /obj/item/weapon/storage/backpack/virology = 2,
+ /obj/item/weapon/storage/backpack/satchel/vir = 2)
/obj/structure/closet/wardrobe/medic_white
@@ -484,33 +307,24 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/medic_white/New()
- ..()
- new /obj/item/clothing/under/rank/medical(src)
- new /obj/item/clothing/under/rank/medical(src)
- new /obj/item/clothing/under/rank/medical/skirt(src)
- new /obj/item/clothing/under/rank/medical/skirt(src)
- new /obj/item/clothing/under/rank/medical/scrubs(src)
- new /obj/item/clothing/under/rank/medical/scrubs/green(src)
- new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
- new /obj/item/clothing/under/rank/medical/scrubs/black(src)
- new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
- new /obj/item/clothing/head/surgery/navyblue(src)
- new /obj/item/clothing/head/surgery/purple(src)
- new /obj/item/clothing/head/surgery/blue(src)
- new /obj/item/clothing/head/surgery/green(src)
- new /obj/item/clothing/head/surgery/black(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/mask/surgical(src)
- new /obj/item/clothing/mask/surgical(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src)
- new /obj/item/clothing/shoes/boots/winter/medical(src)
- new /obj/item/clothing/shoes/boots/winter/medical(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/medical = 2,
+ /obj/item/clothing/under/rank/medical/skirt = 2,
+ /obj/item/clothing/under/rank/medical/scrubs,
+ /obj/item/clothing/under/rank/medical/scrubs/green,
+ /obj/item/clothing/under/rank/medical/scrubs/purple,
+ /obj/item/clothing/under/rank/medical/scrubs/black,
+ /obj/item/clothing/under/rank/medical/scrubs/navyblue,
+ /obj/item/clothing/head/surgery/navyblue,
+ /obj/item/clothing/head/surgery/purple,
+ /obj/item/clothing/head/surgery/blue,
+ /obj/item/clothing/head/surgery/green,
+ /obj/item/clothing/head/surgery/black,
+ /obj/item/clothing/shoes/white = 2,
+ /obj/item/clothing/suit/storage/toggle/labcoat = 2,
+ /obj/item/clothing/mask/surgical = 2,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/medical = 2,
+ /obj/item/clothing/shoes/boots/winter/medical = 2)
/obj/structure/closet/wardrobe/medic_gown
@@ -518,71 +332,57 @@
icon_state = "white"
icon_closed = "white"
-/obj/structure/closet/wardrobe/medic_gown/New()
- ..()
- new /obj/item/clothing/under/medigown(src)
- new /obj/item/clothing/under/medigown(src)
- new /obj/item/clothing/under/medigown(src)
- new /obj/item/clothing/under/medigown(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/medigown = 4)
/obj/structure/closet/wardrobe/grey
name = "grey wardrobe"
icon_state = "grey"
icon_closed = "grey"
-
-/obj/structure/closet/wardrobe/grey/New()
- ..()
- new /obj/item/clothing/under/color/grey(src)
- new /obj/item/clothing/under/color/grey(src)
- new /obj/item/clothing/under/color/grey(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/head/soft/grey(src)
- new /obj/item/clothing/head/soft/grey(src)
- new /obj/item/clothing/head/soft/grey(src)
- return
-
+
+ starts_with = list(
+ /obj/item/clothing/under/color/grey = 3,
+ /obj/item/clothing/shoes/black = 3,
+ /obj/item/clothing/head/soft/grey = 3)
+
/obj/structure/closet/wardrobe/mixed
name = "mixed wardrobe"
icon_state = "mixed"
icon_closed = "mixed"
-/obj/structure/closet/wardrobe/mixed/New()
- ..()
- new /obj/item/clothing/under/color/blue(src)
- new /obj/item/clothing/under/color/yellow(src)
- new /obj/item/clothing/under/color/green(src)
- new /obj/item/clothing/under/color/pink(src)
- new /obj/item/clothing/under/skirt/outfit/plaid_blue(src)
- new /obj/item/clothing/under/skirt/outfit/plaid_red(src)
- new /obj/item/clothing/under/skirt/outfit/plaid_purple(src)
- new /obj/item/clothing/shoes/blue(src)
- new /obj/item/clothing/shoes/yellow(src)
- new /obj/item/clothing/shoes/green(src)
- new /obj/item/clothing/shoes/purple(src)
- new /obj/item/clothing/shoes/red(src)
- new /obj/item/clothing/shoes/leather(src)
- new /obj/item/clothing/under/pants/classicjeans(src)
- new /obj/item/clothing/under/pants/mustangjeans(src)
- new /obj/item/clothing/under/pants/blackjeans(src)
- new /obj/item/clothing/under/pants/youngfolksjeans(src)
- new /obj/item/clothing/under/pants/white(src)
- new /obj/item/clothing/under/pants/red(src)
- new /obj/item/clothing/under/pants/black(src)
- new /obj/item/clothing/under/pants/tan(src)
- new /obj/item/clothing/under/pants/track(src)
- new /obj/item/clothing/suit/storage/toggle/track(src)
- new /obj/item/clothing/under/pants(src)
- new /obj/item/clothing/under/pants/khaki(src)
- new /obj/item/clothing/mask/bandana/blue(src)
- new /obj/item/clothing/mask/bandana/blue(src)
- new /obj/item/clothing/accessory/hawaii(src)
- new /obj/item/clothing/accessory/hawaii/random(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/color/blue,
+ /obj/item/clothing/under/color/yellow,
+ /obj/item/clothing/under/color/green,
+ /obj/item/clothing/under/color/pink,
+ /obj/item/clothing/under/skirt/outfit/plaid_blue,
+ /obj/item/clothing/under/skirt/outfit/plaid_red,
+ /obj/item/clothing/under/skirt/outfit/plaid_purple,
+ /obj/item/clothing/shoes/blue,
+ /obj/item/clothing/shoes/yellow,
+ /obj/item/clothing/shoes/green,
+ /obj/item/clothing/shoes/purple,
+ /obj/item/clothing/shoes/red,
+ /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/under/pants/classicjeans,
+ /obj/item/clothing/under/pants/mustangjeans,
+ /obj/item/clothing/under/pants/blackjeans,
+ /obj/item/clothing/under/pants/youngfolksjeans,
+ /obj/item/clothing/under/pants/white,
+ /obj/item/clothing/under/pants/red,
+ /obj/item/clothing/under/pants/black,
+ /obj/item/clothing/under/pants/tan,
+ /obj/item/clothing/under/pants/track,
+ /obj/item/clothing/suit/storage/toggle/track,
+ /obj/item/clothing/under/pants,
+ /obj/item/clothing/under/pants/khaki,
+ /obj/item/clothing/mask/bandana/blue,
+ /obj/item/clothing/mask/bandana/blue,
+ /obj/item/clothing/accessory/hawaii,
+ /obj/item/clothing/accessory/hawaii/random)
+
/obj/structure/closet/wardrobe/tactical
name = "tactical equipment"
@@ -590,24 +390,26 @@
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
-/obj/structure/closet/wardrobe/tactical/New()
- ..()
- new /obj/item/clothing/under/tactical(src)
- new /obj/item/clothing/suit/armor/tactical(src)
- new /obj/item/clothing/head/helmet/tactical(src)
- new /obj/item/clothing/mask/balaclava/tactical(src)
- new /obj/item/clothing/mask/balaclava(src)
- new /obj/item/clothing/glasses/sunglasses/sechud/tactical(src)
+ starts_with = list(
+ /obj/item/clothing/under/tactical,
+ /obj/item/clothing/suit/armor/tactical,
+ /obj/item/clothing/head/helmet/tactical,
+ /obj/item/clothing/mask/balaclava/tactical,
+ /obj/item/clothing/mask/balaclava,
+ /obj/item/clothing/glasses/sunglasses/sechud/tactical,
+ /obj/item/clothing/shoes/boots/jackboots,
+ /obj/item/clothing/gloves/black,
+ /obj/item/clothing/under/pants/camo)
+
+/obj/structure/closet/wardrobe/tactical/initialize()
if(prob(25))
- new /obj/item/weapon/storage/belt/security/tactical/bandolier(src)
+ starts_with += /obj/item/weapon/storage/belt/security/tactical/bandolier
else
- new /obj/item/weapon/storage/belt/security/tactical(src)
+ starts_with += /obj/item/weapon/storage/belt/security/tactical
if(prob(10))
- new /obj/item/clothing/mask/bandana/skull(src)
- new /obj/item/clothing/shoes/boots/jackboots(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/clothing/under/pants/camo(src)
- return
+ starts_with += /obj/item/clothing/mask/bandana/skull
+
+ return ..()
/obj/structure/closet/wardrobe/ert
name = "emergency response team equipment"
@@ -615,52 +417,47 @@
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
-/obj/structure/closet/wardrobe/ert/New()
- ..()
- new /obj/item/clothing/under/rank/centcom(src)
- new /obj/item/clothing/under/ert(src)
- new /obj/item/clothing/under/syndicate/combat(src)
- new /obj/item/device/radio/headset/ert/alt(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/clothing/shoes/boots/swat(src)
- new /obj/item/clothing/gloves/swat(src)
- new /obj/item/clothing/mask/balaclava/tactical(src)
- new /obj/item/clothing/mask/balaclava(src)
- new /obj/item/clothing/mask/bandana/skull(src)
- new /obj/item/clothing/mask/bandana/skull(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/rank/centcom,
+ /obj/item/clothing/under/ert,
+ /obj/item/clothing/under/syndicate/combat,
+ /obj/item/device/radio/headset/ert/alt,
+ /obj/item/clothing/glasses/sunglasses,
+ /obj/item/clothing/shoes/boots/swat,
+ /obj/item/clothing/gloves/swat,
+ /obj/item/clothing/mask/balaclava/tactical,
+ /obj/item/clothing/mask/balaclava,
+ /obj/item/clothing/mask/bandana/skull = 2)
+
/obj/structure/closet/wardrobe/suit
name = "suit locker"
icon_state = "mixed"
icon_closed = "mixed"
-/obj/structure/closet/wardrobe/suit/New()
- ..()
- new /obj/item/clothing/under/assistantformal(src)
- new /obj/item/clothing/under/suit_jacket/charcoal(src)
- new /obj/item/clothing/under/suit_jacket/charcoal/skirt(src)
- new /obj/item/clothing/under/suit_jacket/navy(src)
- new /obj/item/clothing/under/suit_jacket/navy/skirt(src)
- new /obj/item/clothing/under/suit_jacket/burgundy(src)
- new /obj/item/clothing/under/suit_jacket/burgundy/skirt(src)
- new /obj/item/clothing/under/suit_jacket/checkered(src)
- new /obj/item/clothing/under/suit_jacket/checkered/skirt(src)
- new /obj/item/clothing/under/suit_jacket/tan(src)
- new /obj/item/clothing/under/suit_jacket/tan/skirt(src)
- new /obj/item/clothing/under/sl_suit(src)
- new /obj/item/clothing/under/suit_jacket(src)
- new /obj/item/clothing/under/suit_jacket/female(src)
- new /obj/item/clothing/under/suit_jacket/female/skirt(src)
- new /obj/item/clothing/under/suit_jacket/really_black(src)
- new /obj/item/clothing/under/suit_jacket/really_black/skirt(src)
- new /obj/item/clothing/under/suit_jacket/red(src)
- new /obj/item/clothing/under/suit_jacket/red/skirt(src)
- new /obj/item/clothing/under/scratch(src)
- new /obj/item/clothing/under/scratch/skirt(src)
- new /obj/item/weapon/storage/backpack/satchel(src)
- new /obj/item/weapon/storage/backpack/satchel(src)
- return
+ starts_with = list(
+ /obj/item/clothing/under/assistantformal,
+ /obj/item/clothing/under/suit_jacket/charcoal,
+ /obj/item/clothing/under/suit_jacket/charcoal/skirt,
+ /obj/item/clothing/under/suit_jacket/navy,
+ /obj/item/clothing/under/suit_jacket/navy/skirt,
+ /obj/item/clothing/under/suit_jacket/burgundy,
+ /obj/item/clothing/under/suit_jacket/burgundy/skirt,
+ /obj/item/clothing/under/suit_jacket/checkered,
+ /obj/item/clothing/under/suit_jacket/checkered/skirt,
+ /obj/item/clothing/under/suit_jacket/tan,
+ /obj/item/clothing/under/suit_jacket/tan/skirt,
+ /obj/item/clothing/under/sl_suit,
+ /obj/item/clothing/under/suit_jacket,
+ /obj/item/clothing/under/suit_jacket/female,
+ /obj/item/clothing/under/suit_jacket/female/skirt,
+ /obj/item/clothing/under/suit_jacket/really_black,
+ /obj/item/clothing/under/suit_jacket/really_black/skirt,
+ /obj/item/clothing/under/suit_jacket/red,
+ /obj/item/clothing/under/suit_jacket/red/skirt,
+ /obj/item/clothing/under/scratch,
+ /obj/item/clothing/under/scratch/skirt,
+ /obj/item/weapon/storage/backpack/satchel = 2)
/obj/structure/closet/wardrobe/captain
name = "colony director's wardrobe"
@@ -668,24 +465,22 @@
icon_closed = "cabinet_closed"
icon_opened = "cabinet_open"
-/obj/structure/closet/wardrobe/captain/New()
- ..()
- new /obj/item/weapon/storage/backpack/captain(src)
- new /obj/item/clothing/suit/captunic(src)
- new /obj/item/clothing/suit/captunic/capjacket(src)
- new /obj/item/clothing/head/caphat/cap(src)
- new /obj/item/clothing/under/rank/captain(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/clothing/gloves/captain(src)
- new /obj/item/clothing/under/dress/dress_cap(src)
- new /obj/item/weapon/storage/backpack/satchel/cap(src)
- new /obj/item/clothing/head/caphat/formal(src)
- new /obj/item/clothing/under/captainformal(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/captain(src)
- new /obj/item/clothing/shoes/boots/winter/command(src)
- new /obj/item/clothing/head/beret/centcom/captain(src)
- new /obj/item/clothing/under/gimmick/rank/captain/suit(src)
- new /obj/item/clothing/under/gimmick/rank/captain/suit/skirt(src)
- new /obj/item/clothing/glasses/sunglasses(src)
- new /obj/item/clothing/head/caphat(src)
- return
+ starts_with = list(
+ /obj/item/weapon/storage/backpack/captain,
+ /obj/item/clothing/suit/captunic,
+ /obj/item/clothing/suit/captunic/capjacket,
+ /obj/item/clothing/head/caphat/cap,
+ /obj/item/clothing/under/rank/captain,
+ /obj/item/clothing/shoes/brown,
+ /obj/item/clothing/gloves/captain,
+ /obj/item/clothing/under/dress/dress_cap,
+ /obj/item/weapon/storage/backpack/satchel/cap,
+ /obj/item/clothing/head/caphat/formal,
+ /obj/item/clothing/under/captainformal,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/captain,
+ /obj/item/clothing/shoes/boots/winter/command,
+ /obj/item/clothing/head/beret/centcom/captain,
+ /obj/item/clothing/under/gimmick/rank/captain/suit,
+ /obj/item/clothing/under/gimmick/rank/captain/suit/skirt,
+ /obj/item/clothing/glasses/sunglasses,
+ /obj/item/clothing/head/caphat)
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 97dd747845..e108626206 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -287,42 +287,18 @@
icon_opened = "engi_crateopen"
icon_closed = "engi_crate"
-/obj/structure/closet/crate/rcd/New()
- ..()
- new /obj/item/weapon/rcd_ammo(src)
- new /obj/item/weapon/rcd_ammo(src)
- new /obj/item/weapon/rcd_ammo(src)
- new /obj/item/weapon/rcd(src)
+ starts_with = list(
+ /obj/item/weapon/rcd_ammo = 3,
+ /obj/item/weapon/rcd)
/obj/structure/closet/crate/solar
name = "solar pack crate"
-/obj/structure/closet/crate/solar/New()
- ..()
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/solar_assembly(src)
- new /obj/item/weapon/circuitboard/solar_control(src)
- new /obj/item/weapon/tracker_electronics(src)
- new /obj/item/weapon/paper/solar(src)
+ starts_with = list(
+ /obj/item/solar_assembly = 21,
+ /obj/item/weapon/circuitboard/solar_control,
+ /obj/item/weapon/tracker_electronics,
+ /obj/item/weapon/paper/solar)
/obj/structure/closet/crate/freezer
name = "freezer"
@@ -366,13 +342,9 @@
name = "emergency rations"
desc = "A crate of emergency rations."
+ starts_with = list(
+ /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 4)
-/obj/structure/closet/crate/freezer/rations/New()
- ..()
- new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src)
- new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src)
- new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src)
- new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src)
/obj/structure/closet/crate/bin
name = "large bin"
@@ -381,6 +353,7 @@
icon_opened = "largebinopen"
icon_closed = "largebin"
+
/obj/structure/closet/crate/radiation
name = "radioactive gear crate"
desc = "A crate with a radiation sign on it."
@@ -388,16 +361,10 @@
icon_opened = "radiationopen"
icon_closed = "radiation"
-/obj/structure/closet/crate/radiation/New()
- ..()
- new /obj/item/clothing/suit/radiation(src)
- new /obj/item/clothing/head/radiation(src)
- new /obj/item/clothing/suit/radiation(src)
- new /obj/item/clothing/head/radiation(src)
- new /obj/item/clothing/suit/radiation(src)
- new /obj/item/clothing/head/radiation(src)
- new /obj/item/clothing/suit/radiation(src)
- new /obj/item/clothing/head/radiation(src)
+ starts_with = list(
+ /obj/item/clothing/suit/radiation = 4,
+ /obj/item/clothing/head/radiation = 4)
+
/obj/structure/closet/crate/secure/weapon
name = "weapons crate"
@@ -406,6 +373,7 @@
icon_opened = "weaponcrateopen"
icon_closed = "weaponcrate"
+
/obj/structure/closet/crate/secure/phoron
name = "phoron crate"
desc = "A secure phoron crate."
@@ -413,6 +381,7 @@
icon_opened = "phoroncrateopen"
icon_closed = "phoroncrate"
+
/obj/structure/closet/crate/secure/gear
name = "gear crate"
desc = "A secure gear crate."
@@ -420,6 +389,7 @@
icon_opened = "secgearcrateopen"
icon_closed = "secgearcrate"
+
/obj/structure/closet/crate/secure/hydrosec
name = "secure hydroponics crate"
desc = "A crate with a lock on it, painted in the scheme of the station's botanists."
@@ -427,6 +397,7 @@
icon_opened = "hydrosecurecrateopen"
icon_closed = "hydrosecurecrate"
+
/obj/structure/closet/crate/secure/engineering
desc = "A crate with a lock on it, painted in the scheme of the station's engineers."
name = "secure engineering crate"
@@ -434,6 +405,7 @@
icon_opened = "engi_secure_crateopen"
icon_closed = "engi_secure_crate"
+
/obj/structure/closet/crate/secure/science
name = "secure science crate"
desc = "A crate with a lock on it, painted in the scheme of the station's scientists."
@@ -441,6 +413,7 @@
icon_opened = "scisecurecrateopen"
icon_closed = "scisecurecrate"
+
/obj/structure/closet/crate/secure/bin
name = "secure bin"
desc = "A secure bin."
@@ -452,6 +425,7 @@
sparks = "largebinsparks"
emag = "largebinemag"
+
/obj/structure/closet/crate/large
name = "large crate"
desc = "A hefty metal crate."
@@ -460,6 +434,7 @@
icon_opened = "largemetalopen"
icon_closed = "largemetal"
+
/obj/structure/closet/crate/large/close()
. = ..()
if (.)//we can hold up to one large item
@@ -478,6 +453,7 @@
break
return
+
/obj/structure/closet/crate/secure/large
name = "large crate"
desc = "A hefty metal crate with an electronic locking system."
@@ -488,6 +464,7 @@
redlight = "largemetalr"
greenlight = "largemetalg"
+
/obj/structure/closet/crate/secure/large/close()
. = ..()
if (.)//we can hold up to one large item
@@ -506,6 +483,7 @@
break
return
+
//fluff variant
/obj/structure/closet/crate/secure/large/reinforced
desc = "A hefty, reinforced metal crate with an electronic locking system."
@@ -537,16 +515,8 @@
icon_opened = "hydrocrateopen"
icon_closed = "hydrocrate"
-/obj/structure/closet/crate/hydroponics/prespawned
- //This exists so the prespawned hydro crates spawn with their contents.
- New()
- ..()
- new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
- new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
- new /obj/item/weapon/material/minihoe(src)
-// new /obj/item/weapon/weedspray(src)
-// new /obj/item/weapon/weedspray(src)
-// new /obj/item/weapon/pestspray(src)
-// new /obj/item/weapon/pestspray(src)
-// new /obj/item/weapon/pestspray(src)
+/obj/structure/closet/crate/hydroponics/prespawned
+ starts_with = list(
+ /obj/item/weapon/reagent_containers/spray/plantbgone = 2,
+ /obj/item/weapon/material/minihoe)
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index c4e9ece866..b4a0d60dcb 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -4,9 +4,13 @@
icon = 'icons/obj/storage.dmi'
icon_state = "densecrate"
density = 1
+ var/list/starts_with
/obj/structure/largecrate/initialize()
. = ..()
+ if(starts_with)
+ create_objects_in_loc(src, starts_with)
+ starts_with = null
for(var/obj/I in src.loc)
if(I.density || I.anchored || I == src || !I.simulated)
continue
@@ -50,38 +54,30 @@
/obj/structure/largecrate/animal
icon_state = "mulecrate"
- var/held_count = 1
- var/held_type
-
-/obj/structure/largecrate/animal/New()
- ..()
- for(var/i = 1;i<=held_count;i++)
- new held_type(src)
/obj/structure/largecrate/animal/mulebot
name = "Mulebot crate"
- held_type = /mob/living/bot/mulebot
+ starts_with = list(/mob/living/bot/mulebot)
/obj/structure/largecrate/animal/corgi
name = "corgi carrier"
- held_type = /mob/living/simple_animal/corgi
+ starts_with = list(/mob/living/simple_animal/corgi)
/obj/structure/largecrate/animal/cow
name = "cow crate"
- held_type = /mob/living/simple_animal/cow
+ starts_with = list(/mob/living/simple_animal/cow)
/obj/structure/largecrate/animal/goat
name = "goat crate"
- held_type = /mob/living/simple_animal/retaliate/goat
+ starts_with = list(/mob/living/simple_animal/retaliate/goat)
/obj/structure/largecrate/animal/cat
name = "cat carrier"
- held_type = /mob/living/simple_animal/cat
+ starts_with = list(/mob/living/simple_animal/cat)
/obj/structure/largecrate/animal/cat/bones
- held_type = /mob/living/simple_animal/cat/fluff/bones
+ starts_with = list(/mob/living/simple_animal/cat/fluff/bones)
/obj/structure/largecrate/animal/chick
name = "chicken crate"
- held_count = 5
- held_type = /mob/living/simple_animal/chick
+ starts_with = list(/mob/living/simple_animal/chick = 5)
diff --git a/code/modules/xenoarcheaology/misc.dm b/code/modules/xenoarcheaology/misc.dm
index c85c89ee49..0f51e4fd77 100644
--- a/code/modules/xenoarcheaology/misc.dm
+++ b/code/modules/xenoarcheaology/misc.dm
@@ -41,8 +41,8 @@
/obj/structure/bookcase/manuals/xenoarchaeology
name = "Xenoarchaeology Manuals bookcase"
-/obj/structure/bookcase/manuals/xenoarchaeology/New()
- ..()
+/obj/structure/bookcase/manuals/xenoarchaeology/initialize()
+ . = ..()
new /obj/item/weapon/book/manual/excavation(src)
new /obj/item/weapon/book/manual/mass_spectrometry(src)
new /obj/item/weapon/book/manual/materials_chemistry_analysis(src)
@@ -53,23 +53,22 @@
/obj/structure/closet/secure_closet/xenoarchaeologist
name = "Xenoarchaeologist Locker"
- req_access = list(access_tox_storage)
icon_state = "secureres1"
icon_closed = "secureres"
icon_locked = "secureres1"
icon_opened = "secureresopen"
icon_broken = "secureresbroken"
icon_off = "secureresoff"
+ req_access = list(access_tox_storage)
-/obj/structure/closet/secure_closet/xenoarchaeologist/New()
- ..()
- new /obj/item/clothing/under/rank/scientist(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/glasses/science(src)
- new /obj/item/device/radio/headset/headset_sci(src)
- new /obj/item/weapon/storage/belt/archaeology(src)
- new /obj/item/weapon/storage/excavation(src)
+ starts_with = list(
+ /obj/item/clothing/under/rank/scientist,
+ /obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/shoes/white,
+ /obj/item/clothing/glasses/science,
+ /obj/item/device/radio/headset/headset_sci,
+ /obj/item/weapon/storage/belt/archaeology,
+ /obj/item/weapon/storage/excavation)
/obj/structure/closet/excavation
name = "Excavation tools"
@@ -77,23 +76,22 @@
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
-/obj/structure/closet/excavation/New()
- ..()
- new /obj/item/weapon/storage/belt/archaeology(src)
- new /obj/item/weapon/storage/excavation(src)
- new /obj/item/device/flashlight/lantern(src)
- new /obj/item/device/ano_scanner(src)
- new /obj/item/device/depth_scanner(src)
- new /obj/item/device/core_sampler(src)
- new /obj/item/device/gps(src)
- new /obj/item/device/beacon_locator(src)
- new /obj/item/device/radio/beacon(src)
- new /obj/item/clothing/glasses/meson(src)
- new /obj/item/weapon/pickaxe(src)
- new /obj/item/device/measuring_tape(src)
- new /obj/item/weapon/pickaxe/hand(src)
- new /obj/item/weapon/storage/bag/fossils(src)
- new /obj/item/weapon/hand_labeler(src)
+ starts_with = list(
+ /obj/item/weapon/storage/belt/archaeology,
+ /obj/item/weapon/storage/excavation,
+ /obj/item/device/flashlight/lantern,
+ /obj/item/device/ano_scanner,
+ /obj/item/device/depth_scanner,
+ /obj/item/device/core_sampler,
+ /obj/item/device/gps,
+ /obj/item/device/beacon_locator,
+ /obj/item/device/radio/beacon,
+ /obj/item/clothing/glasses/meson,
+ /obj/item/weapon/pickaxe,
+ /obj/item/device/measuring_tape,
+ /obj/item/weapon/pickaxe/hand,
+ /obj/item/weapon/storage/bag/fossils,
+ /obj/item/weapon/hand_labeler)
/obj/machinery/alarm/isolation
req_one_access = list(access_research, access_atmospherics, access_engine_equip)
diff --git a/maps/southern_cross/structures/closets/engineering.dm b/maps/southern_cross/structures/closets/engineering.dm
index db28e6573e..a80fa8eec8 100644
--- a/maps/southern_cross/structures/closets/engineering.dm
+++ b/maps/southern_cross/structures/closets/engineering.dm
@@ -5,33 +5,33 @@
/obj/structure/closet/secure_closet/engineering_chief_wardrobe
name = "chief engineer's wardrobe"
- req_access = list(access_ce)
icon_state = "securece1"
icon_closed = "securece"
icon_locked = "securece1"
icon_opened = "secureceopen"
icon_broken = "securecebroken"
icon_off = "secureceoff"
+ req_access = list(access_ce)
+ starts_with = list(
+ /obj/item/clothing/under/rank/chief_engineer,
+ /obj/item/clothing/under/rank/chief_engineer/skirt,
+ /obj/item/clothing/head/hardhat/white,
+ /obj/item/clothing/shoes/brown,
+ /obj/item/weapon/cartridge/ce,
+ /obj/item/device/radio/headset/heads/ce,
+ /obj/item/device/radio/headset/heads/ce/alt,
+ /obj/item/clothing/suit/storage/hazardvest,
+ /obj/item/clothing/mask/gas,
+ /obj/item/weapon/tank/emergency/oxygen/engi,
+ /obj/item/taperoll/engineering,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/engineering)
-/obj/structure/closet/secure_closet/engineering_chief_wardrobe/New()
- ..()
+/obj/structure/closet/secure_closet/engineering_chief_wardrobe/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/industrial(src)
+ starts_with += /obj/item/weapon/storage/backpack/industrial
else
- new /obj/item/weapon/storage/backpack/satchel/eng(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/eng(src)
- new /obj/item/clothing/under/rank/chief_engineer(src)
- new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
- new /obj/item/clothing/head/hardhat/white(src)
- new /obj/item/clothing/shoes/brown(src)
- new /obj/item/weapon/cartridge/ce(src)
- new /obj/item/device/radio/headset/heads/ce(src)
- new /obj/item/device/radio/headset/heads/ce/alt(src)
- new /obj/item/clothing/suit/storage/hazardvest(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/taperoll/engineering(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src)
- return
\ No newline at end of file
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
+ return ..()
diff --git a/maps/southern_cross/structures/closets/medical.dm b/maps/southern_cross/structures/closets/medical.dm
index d94f666556..2b59597d33 100644
--- a/maps/southern_cross/structures/closets/medical.dm
+++ b/maps/southern_cross/structures/closets/medical.dm
@@ -5,46 +5,47 @@
/obj/structure/closet/secure_closet/CMO_wardrobe
name = "chief medical officer's locker"
- req_access = list(access_cmo)
icon_state = "cmosecure1"
icon_closed = "cmosecure"
icon_locked = "cmosecure1"
icon_opened = "cmosecureopen"
icon_broken = "cmosecurebroken"
icon_off = "cmosecureoff"
+ req_access = list(access_cmo)
-/obj/structure/closet/secure_closet/CMO_wardrobe/New()
- ..()
+ starts_with = list(
+ /obj/item/clothing/under/rank/chief_medical_officer,
+ /obj/item/clothing/under/rank/chief_medical_officer/skirt,
+ /obj/item/clothing/suit/storage/toggle/labcoat/cmo,
+ /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
+ /obj/item/weapon/cartridge/cmo,
+ /obj/item/clothing/gloves/sterile/latex,
+ /obj/item/clothing/shoes/brown,
+ /obj/item/device/radio/headset/heads/cmo,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/medical,
+ /obj/item/clothing/shoes/white)
+
+/obj/structure/closet/secure_closet/CMO_wardrobe/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/medic(src)
+ starts_with += /obj/item/weapon/storage/backpack/medic
else
- new /obj/item/weapon/storage/backpack/satchel/med(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/med(src)
- new /obj/item/clothing/shoes/white(src)
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
- new /obj/item/clothing/under/rank/medical/scrubs(src)
- new /obj/item/clothing/head/surgery/blue(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs
+ starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
- new /obj/item/clothing/under/rank/medical/scrubs/green(src)
- new /obj/item/clothing/head/surgery/green(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
+ starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
- new /obj/item/clothing/under/rank/medical/scrubs/purple(src)
- new /obj/item/clothing/head/surgery/purple(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
+ starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
- new /obj/item/clothing/under/rank/medical/scrubs/black(src)
- new /obj/item/clothing/head/surgery/black(src)
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
+ starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
- new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src)
- new /obj/item/clothing/head/surgery/navyblue(src)
- new /obj/item/clothing/under/rank/chief_medical_officer(src)
- new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src)
- new /obj/item/weapon/cartridge/cmo(src)
- new /obj/item/clothing/gloves/sterile/latex(src)
- new /obj/item/clothing/shoes/brown (src)
- new /obj/item/device/radio/headset/heads/cmo(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src)
- return
\ No newline at end of file
+ starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
+ starts_with += /obj/item/clothing/head/surgery/navyblue
+ return ..()
diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm
index 43040e8657..e4c93833d9 100644
--- a/maps/southern_cross/structures/closets/misc.dm
+++ b/maps/southern_cross/structures/closets/misc.dm
@@ -4,41 +4,33 @@
name = "emergency weapon cabinet"
req_one_access = list(access_armory,access_captain)
-/obj/structure/closet/secure_closet/guncabinet/sidearm/New()
- ..()
- for(var/i = 1 to 4)
- new /obj/item/weapon/gun/energy/gun(src)
- return
+ starts_with = list(
+ /obj/item/weapon/gun/energy/gun = 4)
+
/obj/structure/closet/secure_closet/guncabinet/rifle
name = "rifle cabinet"
req_one_access = list(access_explorer,access_brig)
-/obj/structure/closet/secure_closet/guncabinet/rifle/New()
- ..()
- for(var/i = 1 to 9)
- new /obj/item/ammo_magazine/clip/c762/hunter(src)
+ starts_with = list(
+ /obj/item/ammo_magazine/clip/c762/hunter = 9,
+ /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2)
+
+/obj/structure/closet/secure_closet/guncabinet/rifle/initialize()
if(prob(85))
- new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src)
+ starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle
else
- new /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever(src)
- new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src)
- new /obj/item/weapon/gun/projectile/shotgun/pump/rifle(src)
- return
+ starts_with += /obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
+ return ..()
/obj/structure/closet/secure_closet/guncabinet/phase
name = "phase pistol cabinet"
req_one_access = list(access_explorer,access_brig)
-/obj/structure/closet/secure_closet/guncabinet/phase/New()
- ..()
- new /obj/item/weapon/gun/energy/phasegun(src)
- new /obj/item/weapon/gun/energy/phasegun(src)
- // One spare cell per gun
- new /obj/item/weapon/cell/device/weapon(src)
- new /obj/item/weapon/cell/device/weapon(src)
- // One spare gun permit per locker
- new /obj/item/clothing/accessory/permit/gun/planetside(src)
+ starts_with = list(
+ /obj/item/weapon/gun/energy/phasegun = 2,
+ /obj/item/weapon/cell/device/weapon = 2,
+ /obj/item/clothing/accessory/permit/gun/planetside)
//Explorer Lockers
@@ -46,30 +38,31 @@
name = "explorer locker"
req_access = list(access_explorer)
-/obj/structure/closet/secure_closet/explorer/New()
- ..()
+ starts_with = list(
+ /obj/item/clothing/under/explorer,
+ /obj/item/clothing/suit/storage/hooded/explorer,
+ /obj/item/clothing/mask/gas/explorer,
+ /obj/item/clothing/shoes/boots/winter/explorer,
+ /obj/item/clothing/gloves/black,
+ /obj/item/device/radio/headset/explorer,
+ /obj/item/device/flashlight,
+ /obj/item/device/gps/explorer,
+ /obj/item/weapon/storage/box/flare,
+ /obj/item/device/geiger,
+ /obj/item/weapon/cell/device,
+ /obj/item/device/radio,
+ /obj/item/stack/marker_beacon/thirty)
+
+/obj/structure/closet/secure_closet/explorer/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack(src)
+ starts_with += /obj/item/weapon/storage/backpack
else
- new /obj/item/weapon/storage/backpack/satchel/norm(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/norm
if(prob(75))
- new /obj/item/weapon/material/knife/tacknife/survival(src)
+ starts_with += /obj/item/weapon/material/knife/tacknife/survival
else
- new /obj/item/weapon/material/knife/machete(src)
- new /obj/item/clothing/under/explorer(src)
- new /obj/item/clothing/suit/storage/hooded/explorer(src)
- new /obj/item/clothing/mask/gas/explorer(src)
- new /obj/item/clothing/shoes/boots/winter/explorer(src)
- new /obj/item/clothing/gloves/black(src)
- new /obj/item/device/radio/headset/explorer(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/device/gps/explorer(src)
- new /obj/item/weapon/storage/box/flare(src)
- new /obj/item/device/geiger(src)
- new /obj/item/weapon/cell/device(src)
- new /obj/item/device/radio(src)
- new /obj/item/stack/marker_beacon/thirty(src)
- return
+ starts_with += /obj/item/weapon/material/knife/machete
+ return ..()
//SAR Lockers
@@ -84,35 +77,32 @@
icon_off = "medicaloff"
req_access = list(access_medical_equip)
-
-/obj/structure/closet/secure_closet/sar/New()
- ..()
- new /obj/item/weapon/storage/backpack/dufflebag/emt(src)
- new /obj/item/weapon/storage/box/autoinjectors(src)
- new /obj/item/weapon/storage/box/syringes(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline(src)
- new /obj/item/weapon/reagent_containers/glass/bottle/antitoxin(src)
- new /obj/item/weapon/storage/belt/medical/emt(src)
- new /obj/item/clothing/mask/gas(src)
- new /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar(src)
- new /obj/item/clothing/shoes/boots/winter/explorer(src)
- new /obj/item/device/radio/headset/sar(src)
- new /obj/item/weapon/cartridge/medical(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/tank/emergency/oxygen/engi(src)
- new /obj/item/clothing/glasses/hud/health(src)
- new /obj/item/device/healthanalyzer(src)
- new /obj/item/device/radio/off(src)
- new /obj/random/medical(src)
- new /obj/item/weapon/crowbar(src)
- new /obj/item/weapon/extinguisher/mini(src)
- new /obj/item/weapon/storage/box/freezer(src)
- new /obj/item/clothing/accessory/storage/white_vest(src)
- new /obj/item/taperoll/medical(src)
- new /obj/item/device/gps(src)
- new /obj/item/device/geiger(src)
- new /obj/item/bodybag/cryobag(src)
- return
+ starts_with = list(
+ /obj/item/weapon/storage/backpack/dufflebag/emt,
+ /obj/item/weapon/storage/box/autoinjectors,
+ /obj/item/weapon/storage/box/syringes,
+ /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,
+ /obj/item/weapon/reagent_containers/glass/bottle/antitoxin,
+ /obj/item/weapon/storage/belt/medical/emt,
+ /obj/item/clothing/mask/gas,
+ /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar,
+ /obj/item/clothing/shoes/boots/winter/explorer,
+ /obj/item/device/radio/headset/sar,
+ /obj/item/weapon/cartridge/medical,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank/emergency/oxygen/engi,
+ /obj/item/clothing/glasses/hud/health,
+ /obj/item/device/healthanalyzer,
+ /obj/item/device/radio/off,
+ /obj/random/medical,
+ /obj/item/weapon/crowbar,
+ /obj/item/weapon/extinguisher/mini,
+ /obj/item/weapon/storage/box/freezer,
+ /obj/item/clothing/accessory/storage/white_vest,
+ /obj/item/taperoll/medical,
+ /obj/item/device/gps,
+ /obj/item/device/geiger,
+ /obj/item/bodybag/cryobag)
//Pilot Locker
@@ -120,28 +110,29 @@
name = "pilot locker"
req_access = list(access_pilot)
-/obj/structure/closet/secure_closet/pilot/New()
- ..()
+ starts_with = list(
+ /obj/item/weapon/storage/backpack/parachute,
+ /obj/item/weapon/material/knife/tacknife/survival,
+ /obj/item/clothing/head/pilot,
+ /obj/item/clothing/under/rank/pilot1,
+ /obj/item/clothing/suit/storage/toggle/bomber/pilot,
+ /obj/item/clothing/mask/gas/half,
+ /obj/item/clothing/shoes/black,
+ /obj/item/clothing/gloves/fingerless,
+ /obj/item/device/radio/headset/pilot/alt,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidfood,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,
+ /obj/item/weapon/storage/box/flare,
+ /obj/item/weapon/cell/device,
+ /obj/item/device/radio)
+
+/obj/structure/closet/secure_closet/pilot/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack(src)
+ starts_with += /obj/item/weapon/storage/backpack
else
- new /obj/item/weapon/storage/backpack/satchel/norm(src)
- new /obj/item/weapon/storage/backpack/parachute(src)
- new /obj/item/weapon/material/knife/tacknife/survival(src)
- new /obj/item/clothing/head/pilot(src)
- new /obj/item/clothing/under/rank/pilot1(src)
- new /obj/item/clothing/suit/storage/toggle/bomber/pilot(src)
- new /obj/item/clothing/mask/gas/half(src)
- new /obj/item/clothing/shoes/black(src)
- new /obj/item/clothing/gloves/fingerless(src)
- new /obj/item/device/radio/headset/pilot/alt(src)
- new /obj/item/device/flashlight(src)
- new /obj/item/weapon/reagent_containers/food/snacks/liquidfood(src)
- new /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle(src)
- new /obj/item/weapon/storage/box/flare(src)
- new /obj/item/weapon/cell/device(src)
- new /obj/item/device/radio(src)
- return
+ starts_with += /obj/item/weapon/storage/backpack/satchel/norm
+ return ..()
//Exotic Seeds Crate
@@ -149,14 +140,10 @@
name = "exotic seeds crate"
desc = "All you need to destroy that pesky planet."
-/obj/structure/closet/crate/hydroponics/exotic/New()
- ..()
- for(var/i = 1 to 6)
- new /obj/item/seeds/random(src)
- new /obj/item/seeds/kudzuseed(src)
- new /obj/item/seeds/replicapod(src)
- new /obj/item/seeds/replicapod(src)
- new /obj/item/seeds/ambrosiavulgarisseed(src)
- new /obj/item/seeds/ambrosiavulgarisseed(src)
- new /obj/item/seeds/libertymycelium(src)
- new /obj/item/seeds/reishimycelium(src)
\ No newline at end of file
+ starts_with = list(
+ /obj/item/seeds/random = 6,
+ /obj/item/seeds/replicapod = 2,
+ /obj/item/seeds/ambrosiavulgarisseed = 2,
+ /obj/item/seeds/kudzuseed,
+ /obj/item/seeds/libertymycelium,
+ /obj/item/seeds/reishimycelium)
diff --git a/maps/southern_cross/structures/closets/research.dm b/maps/southern_cross/structures/closets/research.dm
index 12d7c1d686..6630706df9 100644
--- a/maps/southern_cross/structures/closets/research.dm
+++ b/maps/southern_cross/structures/closets/research.dm
@@ -5,23 +5,21 @@
/obj/structure/closet/secure_closet/RD_wardrobe
name = "research director's locker"
- req_access = list(access_rd)
icon_state = "rdsecure1"
icon_closed = "rdsecure"
icon_locked = "rdsecure1"
icon_opened = "rdsecureopen"
icon_broken = "rdsecurebroken"
icon_off = "rdsecureoff"
+ req_access = list(access_rd)
-/obj/structure/closet/secure_closet/RD_wardrobe/New()
- ..()
- new /obj/item/clothing/under/rank/research_director(src)
- new /obj/item/clothing/under/rank/research_director/rdalt(src)
- new /obj/item/clothing/under/rank/research_director/dress_rd(src)
- new /obj/item/clothing/suit/storage/toggle/labcoat(src)
- new /obj/item/weapon/cartridge/rd(src)
- new /obj/item/clothing/shoes/white(src)
- new /obj/item/clothing/shoes/leather(src)
- new /obj/item/clothing/gloves/sterile/latex(src)
- new /obj/item/device/radio/headset/heads/rd(src)
- return
\ No newline at end of file
+ starts_with = list(
+ /obj/item/clothing/under/rank/research_director,
+ /obj/item/clothing/under/rank/research_director/rdalt,
+ /obj/item/clothing/under/rank/research_director/dress_rd,
+ /obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/weapon/cartridge/rd,
+ /obj/item/clothing/shoes/white,
+ /obj/item/clothing/shoes/leather,
+ /obj/item/clothing/gloves/sterile/latex,
+ /obj/item/device/radio/headset/heads/rd)
diff --git a/maps/southern_cross/structures/closets/security.dm b/maps/southern_cross/structures/closets/security.dm
index fd1263cf8e..314e5a07b9 100644
--- a/maps/southern_cross/structures/closets/security.dm
+++ b/maps/southern_cross/structures/closets/security.dm
@@ -5,32 +5,33 @@
/obj/structure/closet/secure_closet/hos_wardrobe
name = "head of security's locker"
- req_access = list(access_hos)
icon_state = "hossecure1"
icon_closed = "hossecure"
icon_locked = "hossecure1"
icon_opened = "hossecureopen"
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
+ req_access = list(access_hos)
-/obj/structure/closet/secure_closet/hos_wardrobe/New()
- ..()
+ starts_with = list(
+ /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/weapon/cartridge/hos,
+ /obj/item/device/radio/headset/heads/hos,
+ /obj/item/clothing/glasses/sunglasses/sechud,
+ /obj/item/weapon/storage/box/holobadge/hos,
+ /obj/item/clothing/accessory/badge/holo/hos,
+ /obj/item/clothing/accessory/holster/waist,
+ /obj/item/clothing/head/beret/sec/corporate/hos,
+ /obj/item/clothing/mask/gas/half)
+
+/obj/structure/closet/secure_closet/hos_wardrobe/initialize()
if(prob(50))
- new /obj/item/weapon/storage/backpack/security(src)
+ starts_with += /obj/item/weapon/storage/backpack/security
else
- new /obj/item/weapon/storage/backpack/satchel/sec(src)
+ starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
- new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
- new /obj/item/clothing/under/rank/head_of_security/jensen(src)
- new /obj/item/clothing/under/rank/head_of_security/corp(src)
- new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src)
- new /obj/item/clothing/suit/storage/vest/hoscoat(src)
- new /obj/item/weapon/cartridge/hos(src)
- new /obj/item/device/radio/headset/heads/hos(src)
- new /obj/item/clothing/glasses/sunglasses/sechud(src)
- new /obj/item/weapon/storage/box/holobadge/hos(src)
- new /obj/item/clothing/accessory/badge/holo/hos(src)
- new /obj/item/clothing/accessory/holster/waist(src)
- new /obj/item/clothing/head/beret/sec/corporate/hos(src)
- new /obj/item/clothing/mask/gas/half(src)
- return
\ No newline at end of file
+ starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
+ return ..()