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 ..()