File standardisation (#13131)

* Adds the check components

* Adds in trailing newlines

* Converts all CRLF to LF

* Post merge EOF

* Post merge line endings

* Final commit
This commit is contained in:
AffectedArc07
2020-03-17 18:08:51 -04:00
committed by GitHub
parent ec19ea3d2d
commit 04ba5c1cc9
1451 changed files with 183694 additions and 183593 deletions
@@ -1,451 +1,451 @@
/obj/structure/closet
name = "closet"
desc = "It's a basic storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "closed"
density = 1
max_integrity = 200
integrity_failure = 50
armor = list("melee" = 20, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60)
var/icon_closed = "closed"
var/icon_opened = "open"
var/opened = FALSE
var/welded = FALSE
var/locked = FALSE
var/wall_mounted = 0 //never solid (You can always pass over it)
var/lastbang
var/sound = 'sound/machines/click.ogg'
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients.
var/material_drop = /obj/item/stack/sheet/metal
var/material_drop_amount = 2
/obj/structure/closet/New()
..()
spawn(1)
if(!opened) // if closed, any item at the crate's loc is put in the contents
for(var/obj/item/I in loc)
if(I.density || I.anchored || I == src) continue
I.forceMove(src)
// Fix for #383 - C4 deleting fridges with corpses
/obj/structure/closet/Destroy()
dump_contents()
return ..()
/obj/structure/closet/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0 || wall_mounted)
return TRUE
return (!density)
/obj/structure/closet/proc/can_open()
if(welded)
return FALSE
return TRUE
/obj/structure/closet/proc/can_close()
for(var/obj/structure/closet/closet in get_turf(src))
if(closet != src && closet.anchored != 1)
return FALSE
return TRUE
/obj/structure/closet/proc/dump_contents()
var/turf/T = get_turf(src)
for(var/atom/movable/AM in src)
AM.forceMove(T)
if(throwing) // you keep some momentum when getting out of a thrown closet
step(AM, dir)
if(throwing)
throwing.finalize(FALSE)
/obj/structure/closet/proc/open()
if(opened)
return FALSE
if(!can_open())
return FALSE
dump_contents()
icon_state = icon_opened
opened = TRUE
if(sound)
playsound(loc, sound, 15, 1, -3)
else
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
density = 0
return TRUE
/obj/structure/closet/proc/close()
if(!opened)
return FALSE
if(!can_close())
return FALSE
var/itemcount = 0
//Cham Projector Exception
for(var/obj/effect/dummy/chameleon/AD in loc)
if(itemcount >= storage_capacity)
break
AD.forceMove(src)
itemcount++
for(var/obj/item/I in loc)
if(itemcount >= storage_capacity)
break
if(!I.anchored)
I.forceMove(src)
itemcount++
for(var/mob/M in loc)
if(itemcount >= storage_capacity)
break
if(istype(M, /mob/dead/observer))
continue
if(istype(M, /mob/living/simple_animal/bot/mulebot))
continue
if(M.buckled || M.anchored || M.has_buckled_mobs())
continue
if(isAI(M))
continue
M.forceMove(src)
itemcount++
icon_state = icon_closed
opened = FALSE
if(sound)
playsound(loc, sound, 15, 1, -3)
else
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
density = 1
return TRUE
/obj/structure/closet/proc/toggle(mob/user)
if(!(opened ? close() : open()))
to_chat(user, "<span class='notice'>It won't budge!</span>")
/obj/structure/closet/proc/bust_open()
welded = FALSE //applies to all lockers
locked = FALSE //applies to critter crates and secure lockers only
broken = TRUE //applies to secure lockers only
open()
/obj/structure/closet/deconstruct(disassembled = TRUE)
if(ispath(material_drop) && material_drop_amount && !(flags & NODECONSTRUCT))
new material_drop(loc, material_drop_amount)
qdel(src)
/obj/structure/closet/obj_break(damage_flag)
if(!broken && !(flags & NODECONSTRUCT))
bust_open()
/obj/structure/closet/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/rcs) && !opened)
if(user in contents) //to prevent self-teleporting.
return
var/obj/item/rcs/E = W
if(E.rcell && (E.rcell.charge >= E.chargecost))
if(!is_level_reachable(z))
to_chat(user, "<span class='warning'>The rapid-crate-sender can't locate any telepads!</span>")
return
if(E.mode == 0)
if(!E.teleporting)
var/list/L = list()
var/list/areaindex = list()
for(var/obj/machinery/telepad_cargo/R in world)
if(R.stage == 0)
var/turf/T = get_turf(R)
var/tmpname = T.loc.name
if(areaindex[tmpname])
tmpname = "[tmpname] ([++areaindex[tmpname]])"
else
areaindex[tmpname] = 1
L[tmpname] = R
var/desc = input("Please select a telepad.", "RCS") in L
E.pad = L[desc]
if(!Adjacent(user))
to_chat(user, "<span class='notice'>Unable to teleport, too far from crate.</span>")
return
playsound(E.loc, E.usesound, 50, 1)
to_chat(user, "<span class='notice'>Teleporting [name]...</span>")
E.teleporting = 1
if(!do_after(user, 50 * E.toolspeed, target = src))
E.teleporting = 0
return
E.teleporting = 0
if(user in contents)
to_chat(user, "<span class='warning'>Error: User located in container--aborting for safety.</span>")
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
return
do_sparks(5, 1, src)
do_teleport(src, E.pad, 0)
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
else
E.rand_x = rand(50,200)
E.rand_y = rand(50,200)
var/L = locate(E.rand_x, E.rand_y, 6)
if(!Adjacent(user))
to_chat(user, "<span class='notice'>Unable to teleport, too far from crate.</span>")
return
playsound(E.loc, E.usesound, 50, 1)
to_chat(user, "<span class='notice'>Teleporting [name]...</span>")
E.teleporting = 1
if(!do_after(user, 50, E.toolspeed, target = src))
E.teleporting = 0
return
E.teleporting = 0
if(user in contents)
to_chat(user, "<span class='warning'>Error: User located in container--aborting for safety.</span>")
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
return
do_sparks(5, 1, src)
do_teleport(src, L)
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
else
to_chat(user, "<span class='warning'>Out of charges.</span>")
return
return
if(opened)
if(istype(W, /obj/item/grab))
MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
if(istype(W,/obj/item/tk_grab))
return FALSE
if(isrobot(user))
return
if(!user.drop_item()) //couldn't drop the item
to_chat(user, "<span class='notice'>\The [W] is stuck to your hand, you cannot put it in \the [src]!</span>")
return
if(W)
W.forceMove(loc)
else if(istype(W, /obj/item/stack/packageWrap))
return
else if(user.a_intent != INTENT_HARM)
attack_hand(user)
else
return ..()
/obj/structure/closet/welder_act(mob/user, obj/item/I)
. = TRUE
if(!opened && user.loc == src)
to_chat(user, "<span class='warning'>You can't weld [src] from inside!</span>")
return
if(!I.tool_use_check(user, 0))
return
if(opened)
WELDER_ATTEMPT_SLICING_MESSAGE
if(I.use_tool(src, user, 40, volume = I.tool_volume))
WELDER_SLICING_SUCCESS_MESSAGE
deconstruct(TRUE)
return
else
var/adjective = welded ? "open" : "shut"
user.visible_message("<span class='notice'>[user] begins welding [src] [adjective]...</span>", "<span class='notice'>You begin welding [src] [adjective]...</span>", "<span class='warning'>You hear welding.</span>")
if(I.use_tool(src, user, 15, volume = I.tool_volume))
if(opened)
to_chat(user, "<span class='notice'>Keep [src] shut while doing that!</span>")
return
user.visible_message("<span class='notice'>[user] welds [src] [adjective]!</span>", "<span class='notice'>You weld [src] [adjective]!</span>")
welded = !welded
update_icon()
return
/obj/structure/closet/MouseDrop_T(atom/movable/O, mob/user)
..()
if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete
return
if(O.loc == user)
return
if(user.restrained() || user.stat || user.IsWeakened() || user.stunned || user.paralysis || user.lying)
return
if((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)))
return
if(user.loc==null) // just in case someone manages to get a closet into the blue light dimension, as unlikely as that seems
return
if(!istype(user.loc, /turf)) // are you in a container/closet/pod/etc?
return
if(!opened)
return
if(istype(O, /obj/structure/closet))
return
step_towards(O, loc)
if(user != O)
user.visible_message("<span class='danger'>[user] stuffs [O] into [src]!</span>", "<span class='danger'>You stuff [O] into [src]!</span>")
add_fingerprint(user)
/obj/structure/closet/attack_ai(mob/user)
if(isrobot(user) && Adjacent(user)) //Robots can open/close it, but not the AI
attack_hand(user)
/obj/structure/closet/relaymove(mob/user)
if(user.stat || !isturf(loc))
return
if(!open())
to_chat(user, "<span class='notice'>It won't budge!</span>")
if(!lastbang)
lastbang = 1
for(var/mob/M in hearers(src, null))
to_chat(M, text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M))))
spawn(30)
lastbang = 0
/obj/structure/closet/attack_hand(mob/user)
add_fingerprint(user)
toggle(user)
/obj/structure/closet/attack_ghost(mob/user)
if(user.can_advanced_admin_interact())
toggle(user)
// tk grab then use on self
/obj/structure/closet/attack_self_tk(mob/user)
add_fingerprint(user)
if(!toggle())
to_chat(usr, "<span class='notice'>It won't budge!</span>")
/obj/structure/closet/verb/verb_toggleopen()
set src in oview(1)
set category = null
set name = "Toggle Open"
if(usr.incapacitated())
return
if(ishuman(usr))
add_fingerprint(usr)
toggle(usr)
else
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
/obj/structure/closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
overlays.Cut()
if(!opened)
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
// Objects that try to exit a locker by stepping were doing so successfully,
// and due to an oversight in turf/Enter() were going through walls. That
// should be independently resolved, but this is also an interesting twist.
/obj/structure/closet/Exit(atom/movable/AM)
open()
if(AM.loc == src)
return FALSE
return TRUE
/obj/structure/closet/container_resist(var/mob/living/L)
var/breakout_time = 2 //2 minutes by default
if(opened)
if(L.loc == src)
L.forceMove(get_turf(src)) // Let's just be safe here
return //Door's open... wait, why are you in it's contents then?
if(!welded)
open() //for cardboard boxes
return //closed but not welded...
// else Meh, lets just keep it at 2 minutes for now
// breakout_time++ //Harder to get out of welded lockers than locked lockers
//okay, so the closet is either welded or locked... resist!!!
L.changeNext_move(CLICK_CD_BREAKOUT)
L.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
for(var/mob/O in viewers(usr.loc))
O.show_message("<span class='danger'>The [src] begins to shake violently!</span>", 1)
spawn(0)
if(do_after(L,(breakout_time*60*10), target = src)) //minutes * 60seconds * 10deciseconds
if(!src || !L || L.stat != CONSCIOUS || L.loc != src || opened) //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened
return
//Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'...
if(!welded)
return
//Well then break it!
welded = FALSE
update_icon()
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
for(var/mob/O in viewers(L.loc))
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
if(istype(loc, /obj/structure/bigDelivery)) //nullspace ect.. read the comment above
var/obj/structure/bigDelivery/BD = loc
BD.attack_hand(usr)
open()
/obj/structure/closet/tesla_act(var/power)
..()
visible_message("<span class='danger'>[src] is blown apart by the bolt of electricity!</span>", "<span class='danger'>You hear a metallic screeching sound.</span>")
qdel(src)
/obj/structure/closet/get_remote_view_fullscreens(mob/user)
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1)
/obj/structure/closet/ex_act(severity)
for(var/atom/A in contents)
A.ex_act(severity)
CHECK_TICK
..()
/obj/structure/closet/singularity_act()
dump_contents()
..()
/obj/structure/closet/AllowDrop()
return TRUE
/obj/structure/closet/bluespace
name = "bluespace closet"
desc = "A storage unit that moves and stores through the fourth dimension."
density = 0
icon_state = "bluespace"
icon_closed = "bluespace"
icon_opened = "bluespaceopen"
storage_capacity = 60
var/materials = list(MAT_METAL = 5000, MAT_PLASMA = 2500, MAT_TITANIUM = 500, MAT_BLUESPACE = 500)
/obj/structure/closet/bluespace/CheckExit(atom/movable/AM)
UpdateTransparency(AM, loc)
return TRUE
/obj/structure/closet/bluespace/proc/UpdateTransparency(atom/movable/AM, atom/location)
var/transparent = FALSE
for(var/atom/A in location)
if(A.density && A != src && A != AM)
transparent = TRUE
break
icon_opened = transparent ? "bluespaceopentrans" : "bluespaceopen"
icon_closed = transparent ? "bluespacetrans" : "bluespace"
icon_state = opened ? icon_opened : icon_closed
/obj/structure/closet/bluespace/Crossed(atom/movable/AM, oldloc)
if(AM.density)
icon_state = opened ? "bluespaceopentrans" : "bluespacetrans"
/obj/structure/closet/bluespace/Move(NewLoc, direct) // Allows for "phasing" throug objects but doesn't allow you to stuff your EOC homebois in one of these and push them through walls.
var/turf/T = get_turf(NewLoc)
if(T.density)
return
for(var/atom/A in T.contents)
if(A.density && istype(A, /obj/machinery/door))
return
UpdateTransparency(src, NewLoc)
forceMove(NewLoc)
/obj/structure/closet/bluespace/close()
. = ..()
density = 0
/obj/structure/closet
name = "closet"
desc = "It's a basic storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "closed"
density = 1
max_integrity = 200
integrity_failure = 50
armor = list("melee" = 20, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60)
var/icon_closed = "closed"
var/icon_opened = "open"
var/opened = FALSE
var/welded = FALSE
var/locked = FALSE
var/wall_mounted = 0 //never solid (You can always pass over it)
var/lastbang
var/sound = 'sound/machines/click.ogg'
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients.
var/material_drop = /obj/item/stack/sheet/metal
var/material_drop_amount = 2
/obj/structure/closet/New()
..()
spawn(1)
if(!opened) // if closed, any item at the crate's loc is put in the contents
for(var/obj/item/I in loc)
if(I.density || I.anchored || I == src) continue
I.forceMove(src)
// Fix for #383 - C4 deleting fridges with corpses
/obj/structure/closet/Destroy()
dump_contents()
return ..()
/obj/structure/closet/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0 || wall_mounted)
return TRUE
return (!density)
/obj/structure/closet/proc/can_open()
if(welded)
return FALSE
return TRUE
/obj/structure/closet/proc/can_close()
for(var/obj/structure/closet/closet in get_turf(src))
if(closet != src && closet.anchored != 1)
return FALSE
return TRUE
/obj/structure/closet/proc/dump_contents()
var/turf/T = get_turf(src)
for(var/atom/movable/AM in src)
AM.forceMove(T)
if(throwing) // you keep some momentum when getting out of a thrown closet
step(AM, dir)
if(throwing)
throwing.finalize(FALSE)
/obj/structure/closet/proc/open()
if(opened)
return FALSE
if(!can_open())
return FALSE
dump_contents()
icon_state = icon_opened
opened = TRUE
if(sound)
playsound(loc, sound, 15, 1, -3)
else
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
density = 0
return TRUE
/obj/structure/closet/proc/close()
if(!opened)
return FALSE
if(!can_close())
return FALSE
var/itemcount = 0
//Cham Projector Exception
for(var/obj/effect/dummy/chameleon/AD in loc)
if(itemcount >= storage_capacity)
break
AD.forceMove(src)
itemcount++
for(var/obj/item/I in loc)
if(itemcount >= storage_capacity)
break
if(!I.anchored)
I.forceMove(src)
itemcount++
for(var/mob/M in loc)
if(itemcount >= storage_capacity)
break
if(istype(M, /mob/dead/observer))
continue
if(istype(M, /mob/living/simple_animal/bot/mulebot))
continue
if(M.buckled || M.anchored || M.has_buckled_mobs())
continue
if(isAI(M))
continue
M.forceMove(src)
itemcount++
icon_state = icon_closed
opened = FALSE
if(sound)
playsound(loc, sound, 15, 1, -3)
else
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
density = 1
return TRUE
/obj/structure/closet/proc/toggle(mob/user)
if(!(opened ? close() : open()))
to_chat(user, "<span class='notice'>It won't budge!</span>")
/obj/structure/closet/proc/bust_open()
welded = FALSE //applies to all lockers
locked = FALSE //applies to critter crates and secure lockers only
broken = TRUE //applies to secure lockers only
open()
/obj/structure/closet/deconstruct(disassembled = TRUE)
if(ispath(material_drop) && material_drop_amount && !(flags & NODECONSTRUCT))
new material_drop(loc, material_drop_amount)
qdel(src)
/obj/structure/closet/obj_break(damage_flag)
if(!broken && !(flags & NODECONSTRUCT))
bust_open()
/obj/structure/closet/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/rcs) && !opened)
if(user in contents) //to prevent self-teleporting.
return
var/obj/item/rcs/E = W
if(E.rcell && (E.rcell.charge >= E.chargecost))
if(!is_level_reachable(z))
to_chat(user, "<span class='warning'>The rapid-crate-sender can't locate any telepads!</span>")
return
if(E.mode == 0)
if(!E.teleporting)
var/list/L = list()
var/list/areaindex = list()
for(var/obj/machinery/telepad_cargo/R in world)
if(R.stage == 0)
var/turf/T = get_turf(R)
var/tmpname = T.loc.name
if(areaindex[tmpname])
tmpname = "[tmpname] ([++areaindex[tmpname]])"
else
areaindex[tmpname] = 1
L[tmpname] = R
var/desc = input("Please select a telepad.", "RCS") in L
E.pad = L[desc]
if(!Adjacent(user))
to_chat(user, "<span class='notice'>Unable to teleport, too far from crate.</span>")
return
playsound(E.loc, E.usesound, 50, 1)
to_chat(user, "<span class='notice'>Teleporting [name]...</span>")
E.teleporting = 1
if(!do_after(user, 50 * E.toolspeed, target = src))
E.teleporting = 0
return
E.teleporting = 0
if(user in contents)
to_chat(user, "<span class='warning'>Error: User located in container--aborting for safety.</span>")
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
return
do_sparks(5, 1, src)
do_teleport(src, E.pad, 0)
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
else
E.rand_x = rand(50,200)
E.rand_y = rand(50,200)
var/L = locate(E.rand_x, E.rand_y, 6)
if(!Adjacent(user))
to_chat(user, "<span class='notice'>Unable to teleport, too far from crate.</span>")
return
playsound(E.loc, E.usesound, 50, 1)
to_chat(user, "<span class='notice'>Teleporting [name]...</span>")
E.teleporting = 1
if(!do_after(user, 50, E.toolspeed, target = src))
E.teleporting = 0
return
E.teleporting = 0
if(user in contents)
to_chat(user, "<span class='warning'>Error: User located in container--aborting for safety.</span>")
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
if(!(E.rcell && E.rcell.use(E.chargecost)))
to_chat(user, "<span class='notice'>Unable to teleport, insufficient charge.</span>")
return
do_sparks(5, 1, src)
do_teleport(src, L)
to_chat(user, "<span class='notice'>Teleport successful. [round(E.rcell.charge/E.chargecost)] charge\s left.</span>")
return
else
to_chat(user, "<span class='warning'>Out of charges.</span>")
return
return
if(opened)
if(istype(W, /obj/item/grab))
MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
if(istype(W,/obj/item/tk_grab))
return FALSE
if(isrobot(user))
return
if(!user.drop_item()) //couldn't drop the item
to_chat(user, "<span class='notice'>\The [W] is stuck to your hand, you cannot put it in \the [src]!</span>")
return
if(W)
W.forceMove(loc)
else if(istype(W, /obj/item/stack/packageWrap))
return
else if(user.a_intent != INTENT_HARM)
attack_hand(user)
else
return ..()
/obj/structure/closet/welder_act(mob/user, obj/item/I)
. = TRUE
if(!opened && user.loc == src)
to_chat(user, "<span class='warning'>You can't weld [src] from inside!</span>")
return
if(!I.tool_use_check(user, 0))
return
if(opened)
WELDER_ATTEMPT_SLICING_MESSAGE
if(I.use_tool(src, user, 40, volume = I.tool_volume))
WELDER_SLICING_SUCCESS_MESSAGE
deconstruct(TRUE)
return
else
var/adjective = welded ? "open" : "shut"
user.visible_message("<span class='notice'>[user] begins welding [src] [adjective]...</span>", "<span class='notice'>You begin welding [src] [adjective]...</span>", "<span class='warning'>You hear welding.</span>")
if(I.use_tool(src, user, 15, volume = I.tool_volume))
if(opened)
to_chat(user, "<span class='notice'>Keep [src] shut while doing that!</span>")
return
user.visible_message("<span class='notice'>[user] welds [src] [adjective]!</span>", "<span class='notice'>You weld [src] [adjective]!</span>")
welded = !welded
update_icon()
return
/obj/structure/closet/MouseDrop_T(atom/movable/O, mob/user)
..()
if(istype(O, /obj/screen)) //fix for HUD elements making their way into the world -Pete
return
if(O.loc == user)
return
if(user.restrained() || user.stat || user.IsWeakened() || user.stunned || user.paralysis || user.lying)
return
if((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)))
return
if(user.loc==null) // just in case someone manages to get a closet into the blue light dimension, as unlikely as that seems
return
if(!istype(user.loc, /turf)) // are you in a container/closet/pod/etc?
return
if(!opened)
return
if(istype(O, /obj/structure/closet))
return
step_towards(O, loc)
if(user != O)
user.visible_message("<span class='danger'>[user] stuffs [O] into [src]!</span>", "<span class='danger'>You stuff [O] into [src]!</span>")
add_fingerprint(user)
/obj/structure/closet/attack_ai(mob/user)
if(isrobot(user) && Adjacent(user)) //Robots can open/close it, but not the AI
attack_hand(user)
/obj/structure/closet/relaymove(mob/user)
if(user.stat || !isturf(loc))
return
if(!open())
to_chat(user, "<span class='notice'>It won't budge!</span>")
if(!lastbang)
lastbang = 1
for(var/mob/M in hearers(src, null))
to_chat(M, text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M))))
spawn(30)
lastbang = 0
/obj/structure/closet/attack_hand(mob/user)
add_fingerprint(user)
toggle(user)
/obj/structure/closet/attack_ghost(mob/user)
if(user.can_advanced_admin_interact())
toggle(user)
// tk grab then use on self
/obj/structure/closet/attack_self_tk(mob/user)
add_fingerprint(user)
if(!toggle())
to_chat(usr, "<span class='notice'>It won't budge!</span>")
/obj/structure/closet/verb/verb_toggleopen()
set src in oview(1)
set category = null
set name = "Toggle Open"
if(usr.incapacitated())
return
if(ishuman(usr))
add_fingerprint(usr)
toggle(usr)
else
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
/obj/structure/closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
overlays.Cut()
if(!opened)
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
// Objects that try to exit a locker by stepping were doing so successfully,
// and due to an oversight in turf/Enter() were going through walls. That
// should be independently resolved, but this is also an interesting twist.
/obj/structure/closet/Exit(atom/movable/AM)
open()
if(AM.loc == src)
return FALSE
return TRUE
/obj/structure/closet/container_resist(var/mob/living/L)
var/breakout_time = 2 //2 minutes by default
if(opened)
if(L.loc == src)
L.forceMove(get_turf(src)) // Let's just be safe here
return //Door's open... wait, why are you in it's contents then?
if(!welded)
open() //for cardboard boxes
return //closed but not welded...
// else Meh, lets just keep it at 2 minutes for now
// breakout_time++ //Harder to get out of welded lockers than locked lockers
//okay, so the closet is either welded or locked... resist!!!
L.changeNext_move(CLICK_CD_BREAKOUT)
L.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
for(var/mob/O in viewers(usr.loc))
O.show_message("<span class='danger'>The [src] begins to shake violently!</span>", 1)
spawn(0)
if(do_after(L,(breakout_time*60*10), target = src)) //minutes * 60seconds * 10deciseconds
if(!src || !L || L.stat != CONSCIOUS || L.loc != src || opened) //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened
return
//Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'...
if(!welded)
return
//Well then break it!
welded = FALSE
update_icon()
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
for(var/mob/O in viewers(L.loc))
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
if(istype(loc, /obj/structure/bigDelivery)) //nullspace ect.. read the comment above
var/obj/structure/bigDelivery/BD = loc
BD.attack_hand(usr)
open()
/obj/structure/closet/tesla_act(var/power)
..()
visible_message("<span class='danger'>[src] is blown apart by the bolt of electricity!</span>", "<span class='danger'>You hear a metallic screeching sound.</span>")
qdel(src)
/obj/structure/closet/get_remote_view_fullscreens(mob/user)
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1)
/obj/structure/closet/ex_act(severity)
for(var/atom/A in contents)
A.ex_act(severity)
CHECK_TICK
..()
/obj/structure/closet/singularity_act()
dump_contents()
..()
/obj/structure/closet/AllowDrop()
return TRUE
/obj/structure/closet/bluespace
name = "bluespace closet"
desc = "A storage unit that moves and stores through the fourth dimension."
density = 0
icon_state = "bluespace"
icon_closed = "bluespace"
icon_opened = "bluespaceopen"
storage_capacity = 60
var/materials = list(MAT_METAL = 5000, MAT_PLASMA = 2500, MAT_TITANIUM = 500, MAT_BLUESPACE = 500)
/obj/structure/closet/bluespace/CheckExit(atom/movable/AM)
UpdateTransparency(AM, loc)
return TRUE
/obj/structure/closet/bluespace/proc/UpdateTransparency(atom/movable/AM, atom/location)
var/transparent = FALSE
for(var/atom/A in location)
if(A.density && A != src && A != AM)
transparent = TRUE
break
icon_opened = transparent ? "bluespaceopentrans" : "bluespaceopen"
icon_closed = transparent ? "bluespacetrans" : "bluespace"
icon_state = opened ? icon_opened : icon_closed
/obj/structure/closet/bluespace/Crossed(atom/movable/AM, oldloc)
if(AM.density)
icon_state = opened ? "bluespaceopentrans" : "bluespacetrans"
/obj/structure/closet/bluespace/Move(NewLoc, direct) // Allows for "phasing" throug objects but doesn't allow you to stuff your EOC homebois in one of these and push them through walls.
var/turf/T = get_turf(NewLoc)
if(T.density)
return
for(var/atom/A in T.contents)
if(A.density && istype(A, /obj/machinery/door))
return
UpdateTransparency(src, NewLoc)
forceMove(NewLoc)
/obj/structure/closet/bluespace/close()
. = ..()
density = 0
@@ -1,23 +1,23 @@
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
icon_closed = "coffin"
icon_opened = "coffin_open"
resistance_flags = FLAMMABLE
max_integrity = 70
material_drop = /obj/item/stack/sheet/wood
/obj/structure/closet/coffin/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/coffin/sarcophagus
name = "sarcophagus"
icon_state = "sarc"
icon_closed = "sarc"
icon_opened = "sarc_open"
sound = 'sound/effects/stonedoor_openclose.ogg'
material_drop = /obj/item/stack/sheet/mineral/sandstone
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
icon_closed = "coffin"
icon_opened = "coffin_open"
resistance_flags = FLAMMABLE
max_integrity = 70
material_drop = /obj/item/stack/sheet/wood
/obj/structure/closet/coffin/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/coffin/sarcophagus
name = "sarcophagus"
icon_state = "sarc"
icon_closed = "sarc"
icon_opened = "sarc_open"
sound = 'sound/effects/stonedoor_openclose.ogg'
material_drop = /obj/item/stack/sheet/mineral/sandstone
@@ -1,7 +1,7 @@
/obj/structure/closet/crate/critter
name = "critter crate"
desc = "A crate which can sustain life for a while."
icon_state = "critter"
icon_opened = "critteropen"
icon_closed = "critter"
material_drop = /obj/item/stack/sheet/wood
/obj/structure/closet/crate/critter
name = "critter crate"
desc = "A crate which can sustain life for a while."
icon_state = "critter"
icon_opened = "critteropen"
icon_closed = "critter"
material_drop = /obj/item/stack/sheet/wood
@@ -71,4 +71,4 @@
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/head/helmet/bluetaghelm(src)
new /obj/item/clothing/head/helmet/bluetaghelm(src)
@@ -1,136 +1,136 @@
/obj/structure/closet/cabinet
name = "cabinet"
desc = "Old will forever be in fashion."
icon_state = "cabinet_closed"
icon_closed = "cabinet_closed"
icon_opened = "cabinet_open"
resistance_flags = FLAMMABLE
max_integrity = 70
/obj/structure/closet/cabinet/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
icon_state = "acloset"
icon_closed = "acloset"
icon_opened = "aclosetopen"
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
anchored = 0
/obj/structure/closet/gimmick/russian
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
icon_state = "syndicate1"
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)
/obj/structure/closet/gimmick/tacticool
name = "tacticool gear closet"
desc = "It's a storage unit for Tacticool gear."
icon_state = "syndicate1"
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/combat(src)
new /obj/item/clothing/gloves/combat(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/combat/swat(src)
new /obj/item/clothing/shoes/combat/swat(src)
new /obj/item/clothing/suit/space/deathsquad(src)
new /obj/item/clothing/suit/space/deathsquad(src)
new /obj/item/clothing/under/syndicate/tacticool(src)
new /obj/item/clothing/under/syndicate/tacticool(src)
/obj/structure/closet/thunderdome
name = "\improper Thunderdome closet"
desc = "Everything you need!"
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
anchored = 1
/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/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/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)
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
icon_state = "syndicate1"
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/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/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)
/obj/structure/closet/cabinet
name = "cabinet"
desc = "Old will forever be in fashion."
icon_state = "cabinet_closed"
icon_closed = "cabinet_closed"
icon_opened = "cabinet_open"
resistance_flags = FLAMMABLE
max_integrity = 70
/obj/structure/closet/cabinet/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
icon_state = "acloset"
icon_closed = "acloset"
icon_opened = "aclosetopen"
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
anchored = 0
/obj/structure/closet/gimmick/russian
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
icon_state = "syndicate1"
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)
/obj/structure/closet/gimmick/tacticool
name = "tacticool gear closet"
desc = "It's a storage unit for Tacticool gear."
icon_state = "syndicate1"
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/combat(src)
new /obj/item/clothing/gloves/combat(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/combat/swat(src)
new /obj/item/clothing/shoes/combat/swat(src)
new /obj/item/clothing/suit/space/deathsquad(src)
new /obj/item/clothing/suit/space/deathsquad(src)
new /obj/item/clothing/under/syndicate/tacticool(src)
new /obj/item/clothing/under/syndicate/tacticool(src)
/obj/structure/closet/thunderdome
name = "\improper Thunderdome closet"
desc = "Everything you need!"
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
anchored = 1
/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/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/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)
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
icon_state = "syndicate1"
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/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/melee/energy/sword/saber(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/gun/energy/laser(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/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)
@@ -1,144 +1,144 @@
/* Closets for specific jobs
* Contains:
* Bartender
* Janitor
* Lawyer
*/
/*
* Bartender
*/
/obj/structure/closet/gmcloset
name = "formal closet"
desc = "It's a storage unit for formal clothing."
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/radio/headset/headset_service(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/clothing/head/hairflower
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/dress/dress_saloon
new /obj/item/clothing/suit/wcoat(src)
new /obj/item/clothing/suit/wcoat(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
/*
* Chef
*/
/obj/structure/closet/chefcloset
name = "chef's closet"
desc = "It's a storage unit for foodservice garments."
icon_state = "black"
icon_closed = "black"
/obj/structure/closet/chefcloset/New()
..()
new /obj/item/clothing/under/waiter(src)
new /obj/item/clothing/under/waiter(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/suit/chef/classic(src)
new /obj/item/clothing/suit/chef/classic(src)
new /obj/item/clothing/suit/chef/classic(src)
new /obj/item/clothing/head/soft/mime(src)
new /obj/item/clothing/head/soft/mime(src)
new /obj/item/storage/box/mousetraps(src)
new /obj/item/storage/box/mousetraps(src)
new /obj/item/clothing/under/rank/chef(src)
new /obj/item/clothing/head/chefhat(src)
new /obj/item/reagent_containers/glass/rag(src)
/*
* Janitor
*/
/obj/structure/closet/jcloset
name = "custodial closet"
desc = "It's a storage unit for janitorial clothes and gear."
icon_state = "mixed"
icon_closed = "mixed"
/obj/structure/closet/jcloset/New()
..()
new /obj/item/clothing/under/rank/janitor(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/cartridge/janitor(src)
new /obj/item/flashlight(src)
new /obj/item/melee/flyswatter(src)
new /obj/item/clothing/shoes/galoshes(src)
new /obj/item/soap(src)
new /obj/item/caution(src)
new /obj/item/caution(src)
new /obj/item/caution(src)
new /obj/item/caution(src)
new /obj/item/storage/bag/trash(src)
new /obj/item/lightreplacer(src)
new /obj/item/holosign_creator(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/head/soft/purple(src)
new /obj/item/watertank/janitor(src)
new /obj/item/storage/belt/janitor(src)
/*
* Lawyer
*/
/obj/structure/closet/lawcloset
name = "legal closet"
desc = "It's a storage unit for courtroom apparel and items."
icon_state = "blue"
icon_closed = "blue"
/obj/structure/closet/lawcloset/New()
..()
new /obj/item/storage/box/tapes(src)
new /obj/item/book/manual/faxes(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/bluesuit(src)
new /obj/item/clothing/suit/storage/lawyer/bluejacket(src)
new /obj/item/clothing/under/lawyer/purpsuit(src)
new /obj/item/clothing/suit/storage/lawyer/purpjacket(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/glasses/sunglasses/big(src)
new /obj/item/clothing/glasses/sunglasses/big(src)
//Paramedic
/obj/structure/closet/paramedic
name = "paramedic wardrobe"
desc = "It's a storage unit for paramedic equipment."
icon_state = "blue"
icon_closed = "blue"
/obj/structure/closet/paramedic/New()
new /obj/item/clothing/under/rank/medical/paramedic(src)
new /obj/item/clothing/under/rank/medical/paramedic(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/suit/storage/paramedic(src)
new /obj/item/clothing/suit/storage/paramedic(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/tank/emergency_oxygen/engi(src)
/* Closets for specific jobs
* Contains:
* Bartender
* Janitor
* Lawyer
*/
/*
* Bartender
*/
/obj/structure/closet/gmcloset
name = "formal closet"
desc = "It's a storage unit for formal clothing."
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/radio/headset/headset_service(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/clothing/head/hairflower
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/dress/dress_saloon
new /obj/item/clothing/suit/wcoat(src)
new /obj/item/clothing/suit/wcoat(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
/*
* Chef
*/
/obj/structure/closet/chefcloset
name = "chef's closet"
desc = "It's a storage unit for foodservice garments."
icon_state = "black"
icon_closed = "black"
/obj/structure/closet/chefcloset/New()
..()
new /obj/item/clothing/under/waiter(src)
new /obj/item/clothing/under/waiter(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/suit/chef/classic(src)
new /obj/item/clothing/suit/chef/classic(src)
new /obj/item/clothing/suit/chef/classic(src)
new /obj/item/clothing/head/soft/mime(src)
new /obj/item/clothing/head/soft/mime(src)
new /obj/item/storage/box/mousetraps(src)
new /obj/item/storage/box/mousetraps(src)
new /obj/item/clothing/under/rank/chef(src)
new /obj/item/clothing/head/chefhat(src)
new /obj/item/reagent_containers/glass/rag(src)
/*
* Janitor
*/
/obj/structure/closet/jcloset
name = "custodial closet"
desc = "It's a storage unit for janitorial clothes and gear."
icon_state = "mixed"
icon_closed = "mixed"
/obj/structure/closet/jcloset/New()
..()
new /obj/item/clothing/under/rank/janitor(src)
new /obj/item/radio/headset/headset_service(src)
new /obj/item/cartridge/janitor(src)
new /obj/item/flashlight(src)
new /obj/item/melee/flyswatter(src)
new /obj/item/clothing/shoes/galoshes(src)
new /obj/item/soap(src)
new /obj/item/caution(src)
new /obj/item/caution(src)
new /obj/item/caution(src)
new /obj/item/caution(src)
new /obj/item/storage/bag/trash(src)
new /obj/item/lightreplacer(src)
new /obj/item/holosign_creator(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/head/soft/purple(src)
new /obj/item/watertank/janitor(src)
new /obj/item/storage/belt/janitor(src)
/*
* Lawyer
*/
/obj/structure/closet/lawcloset
name = "legal closet"
desc = "It's a storage unit for courtroom apparel and items."
icon_state = "blue"
icon_closed = "blue"
/obj/structure/closet/lawcloset/New()
..()
new /obj/item/storage/box/tapes(src)
new /obj/item/book/manual/faxes(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
new /obj/item/clothing/under/lawyer/bluesuit(src)
new /obj/item/clothing/suit/storage/lawyer/bluejacket(src)
new /obj/item/clothing/under/lawyer/purpsuit(src)
new /obj/item/clothing/suit/storage/lawyer/purpjacket(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/glasses/sunglasses/big(src)
new /obj/item/clothing/glasses/sunglasses/big(src)
//Paramedic
/obj/structure/closet/paramedic
name = "paramedic wardrobe"
desc = "It's a storage unit for paramedic equipment."
icon_state = "blue"
icon_closed = "blue"
/obj/structure/closet/paramedic/New()
new /obj/item/clothing/under/rank/medical/paramedic(src)
new /obj/item/clothing/under/rank/medical/paramedic(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/suit/storage/paramedic(src)
new /obj/item/clothing/suit/storage/paramedic(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/tank/emergency_oxygen/engi(src)
@@ -1,76 +1,76 @@
/obj/structure/closet/l3closet
name = "level-3 biohazard suit closet"
desc = "It's a storage unit for level-3 biohazard gear."
icon_state = "bio"
icon_closed = "bio"
icon_opened = "bioopen"
/obj/structure/closet/l3closet/New()
..()
new /obj/item/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/structure/closet/l3closet/general
icon_state = "bio_general"
icon_closed = "bio_general"
icon_opened = "bio_generalopen"
/obj/structure/closet/l3closet/general/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/structure/closet/l3closet/virology
icon_state = "bio_virology"
icon_closed = "bio_virology"
icon_opened = "bio_virologyopen"
/obj/structure/closet/l3closet/virology/New()
..()
contents = list()
new /obj/item/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/virology( src )
new /obj/item/clothing/head/bio_hood/virology( src )
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/oxygen(src)
/obj/structure/closet/l3closet/security
icon_state = "bio_security"
icon_closed = "bio_security"
icon_opened = "bio_securityopen"
/obj/structure/closet/l3closet/security/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/security( src )
new /obj/item/clothing/head/bio_hood/security( src )
/obj/structure/closet/l3closet/janitor
icon_state = "bio_janitor"
icon_closed = "bio_janitor"
icon_opened = "bio_janitoropen"
/obj/structure/closet/l3closet/janitor/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/janitor( src )
new /obj/item/clothing/head/bio_hood/janitor( src )
/obj/structure/closet/l3closet/scientist
icon_state = "bio_scientist"
icon_closed = "bio_scientist"
icon_opened = "bio_scientistopen"
/obj/structure/closet/l3closet/scientist/New()
..()
contents = list()
new /obj/item/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/scientist( src )
new /obj/item/clothing/head/bio_hood/scientist( src )
/obj/structure/closet/l3closet
name = "level-3 biohazard suit closet"
desc = "It's a storage unit for level-3 biohazard gear."
icon_state = "bio"
icon_closed = "bio"
icon_opened = "bioopen"
/obj/structure/closet/l3closet/New()
..()
new /obj/item/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/structure/closet/l3closet/general
icon_state = "bio_general"
icon_closed = "bio_general"
icon_opened = "bio_generalopen"
/obj/structure/closet/l3closet/general/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/structure/closet/l3closet/virology
icon_state = "bio_virology"
icon_closed = "bio_virology"
icon_opened = "bio_virologyopen"
/obj/structure/closet/l3closet/virology/New()
..()
contents = list()
new /obj/item/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/virology( src )
new /obj/item/clothing/head/bio_hood/virology( src )
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/oxygen(src)
/obj/structure/closet/l3closet/security
icon_state = "bio_security"
icon_closed = "bio_security"
icon_opened = "bio_securityopen"
/obj/structure/closet/l3closet/security/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/security( src )
new /obj/item/clothing/head/bio_hood/security( src )
/obj/structure/closet/l3closet/janitor
icon_state = "bio_janitor"
icon_closed = "bio_janitor"
icon_opened = "bio_janitoropen"
/obj/structure/closet/l3closet/janitor/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/janitor( src )
new /obj/item/clothing/head/bio_hood/janitor( src )
/obj/structure/closet/l3closet/scientist
icon_state = "bio_scientist"
icon_closed = "bio_scientist"
icon_opened = "bio_scientistopen"
/obj/structure/closet/l3closet/scientist/New()
..()
contents = list()
new /obj/item/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/scientist( src )
new /obj/item/clothing/head/bio_hood/scientist( src )
@@ -1,15 +1,15 @@
/obj/structure/closet/malf/suits
desc = "It's a storage unit for operational gear."
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
/obj/structure/closet/malf/suits/New()
..()
new /obj/item/tank/jetpack/void(src)
new /obj/item/clothing/mask/breath(src)
new /obj/effect/nasavoidsuitspawner(src)
new /obj/item/crowbar(src)
new /obj/item/stock_parts/cell(src)
new /obj/item/multitool(src)
/obj/structure/closet/malf/suits
desc = "It's a storage unit for operational gear."
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
/obj/structure/closet/malf/suits/New()
..()
new /obj/item/tank/jetpack/void(src)
new /obj/item/clothing/mask/breath(src)
new /obj/effect/nasavoidsuitspawner(src)
new /obj/item/crowbar(src)
new /obj/item/stock_parts/cell(src)
new /obj/item/multitool(src)
@@ -63,4 +63,4 @@
/obj/structure/closet/secure_closet/syndicate/depot/armory
req_access = list(ACCESS_SYNDICATE)
is_armory = TRUE
is_armory = TRUE
@@ -1,152 +1,152 @@
/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"
/obj/structure/closet/secure_closet/engineering_chief/New()
..()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/engineering(src)
new /obj/item/clothing/head/beret/ce(src)
new /obj/item/areaeditor/blueprints(src)
new /obj/item/storage/box/permits(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
new /obj/item/clothing/suit/mantle/chief_engineer(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/glasses/welding/superior(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/tank/jetpack/suit(src)
new /obj/item/cartridge/ce(src)
new /obj/item/radio/headset/heads/ce(src)
new /obj/item/storage/toolbox/mechanical(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/multitool(src)
new /obj/item/holosign_creator/engineering(src)
new /obj/item/flash(src)
new /obj/item/clothing/head/beret/eng(src)
new /obj/item/door_remote/chief_engineer(src)
new /obj/item/rpd(src)
new /obj/item/reagent_containers/food/drinks/mug/ce(src)
new /obj/item/organ/internal/cyberimp/eyes/meson(src)
new /obj/item/clothing/accessory/medal/engineering(src)
new /obj/item/holosign_creator/atmos(src)
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
req_access = list(ACCESS_ENGINE_EQUIP)
icon_state = "secureengelec1"
icon_closed = "secureengelec"
icon_locked = "secureengelec1"
icon_opened = "toolclosetopen"
icon_broken = "secureengelecbroken"
icon_off = "secureengelecoff"
/obj/structure/closet/secure_closet/engineering_electrical/New()
..()
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/apc_electronics(src)
new /obj/item/apc_electronics(src)
new /obj/item/apc_electronics(src)
new /obj/item/multitool(src)
new /obj/item/multitool(src)
new /obj/item/multitool(src)
new /obj/item/clothing/head/beret/eng
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies locker"
req_access = list(ACCESS_ENGINE_EQUIP)
icon_state = "secureengweld1"
icon_closed = "secureengweld"
icon_locked = "secureengweld1"
icon_opened = "toolclosetopen"
icon_broken = "secureengweldbroken"
icon_off = "secureengweldoff"
/obj/structure/closet/secure_closet/engineering_welding/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/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
/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"
/obj/structure/closet/secure_closet/engineering_personal/New()
..()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/engineering(src)
new /obj/item/storage/toolbox/mechanical(src)
new /obj/item/holosign_creator/engineering(src)
new /obj/item/radio/headset/headset_eng(src)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer/skirt(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/cartridge/engineering(src)
new /obj/item/clothing/head/beret/eng(src)
/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"
/obj/structure/closet/secure_closet/atmos_personal/New()
..()
new /obj/item/radio/headset/headset_eng(src)
new /obj/item/cartridge/atmos(src)
new /obj/item/storage/toolbox/mechanical(src)
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/atmos(src)
new /obj/item/extinguisher(src)
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/holosign_creator/atmos(src)
new /obj/item/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
new /obj/item/clothing/head/hardhat/atmos(src)
new /obj/item/rpd(src)
new /obj/item/destTagger(src)
/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"
/obj/structure/closet/secure_closet/engineering_chief/New()
..()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/engineering(src)
new /obj/item/clothing/head/beret/ce(src)
new /obj/item/areaeditor/blueprints(src)
new /obj/item/storage/box/permits(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
new /obj/item/clothing/suit/mantle/chief_engineer(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/glasses/welding/superior(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/tank/jetpack/suit(src)
new /obj/item/cartridge/ce(src)
new /obj/item/radio/headset/heads/ce(src)
new /obj/item/storage/toolbox/mechanical(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/multitool(src)
new /obj/item/holosign_creator/engineering(src)
new /obj/item/flash(src)
new /obj/item/clothing/head/beret/eng(src)
new /obj/item/door_remote/chief_engineer(src)
new /obj/item/rpd(src)
new /obj/item/reagent_containers/food/drinks/mug/ce(src)
new /obj/item/organ/internal/cyberimp/eyes/meson(src)
new /obj/item/clothing/accessory/medal/engineering(src)
new /obj/item/holosign_creator/atmos(src)
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
req_access = list(ACCESS_ENGINE_EQUIP)
icon_state = "secureengelec1"
icon_closed = "secureengelec"
icon_locked = "secureengelec1"
icon_opened = "toolclosetopen"
icon_broken = "secureengelecbroken"
icon_off = "secureengelecoff"
/obj/structure/closet/secure_closet/engineering_electrical/New()
..()
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/apc_electronics(src)
new /obj/item/apc_electronics(src)
new /obj/item/apc_electronics(src)
new /obj/item/multitool(src)
new /obj/item/multitool(src)
new /obj/item/multitool(src)
new /obj/item/clothing/head/beret/eng
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies locker"
req_access = list(ACCESS_ENGINE_EQUIP)
icon_state = "secureengweld1"
icon_closed = "secureengweld"
icon_locked = "secureengweld1"
icon_opened = "toolclosetopen"
icon_broken = "secureengweldbroken"
icon_off = "secureengweldoff"
/obj/structure/closet/secure_closet/engineering_welding/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/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
/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"
/obj/structure/closet/secure_closet/engineering_personal/New()
..()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/engineering(src)
new /obj/item/storage/toolbox/mechanical(src)
new /obj/item/holosign_creator/engineering(src)
new /obj/item/radio/headset/headset_eng(src)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer/skirt(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/cartridge/engineering(src)
new /obj/item/clothing/head/beret/eng(src)
/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"
/obj/structure/closet/secure_closet/atmos_personal/New()
..()
new /obj/item/radio/headset/headset_eng(src)
new /obj/item/cartridge/atmos(src)
new /obj/item/storage/toolbox/mechanical(src)
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/atmos(src)
new /obj/item/extinguisher(src)
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/holosign_creator/atmos(src)
new /obj/item/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
new /obj/item/clothing/head/hardhat/atmos(src)
new /obj/item/rpd(src)
new /obj/item/destTagger(src)
@@ -1,112 +1,112 @@
/obj/structure/closet/secure_closet/freezer
desc = "It's a card-locked refrigerative storage unit. This one is lead-lined."
/obj/structure/closet/secure_closet/freezer/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/freezer/ex_act(var/severity)
// IF INDIANA JONES CAN DO IT SO CAN YOU
// Bomb in here? (using same search as space transits searching for nuke disk)
var/list/bombs = search_contents_for(/obj/item/transfer_valve)
if(!isemptylist(bombs)) // You're fucked.
..(severity)
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen cabinet"
req_access = list(ACCESS_KITCHEN)
/obj/structure/closet/secure_closet/freezer/kitchen/New()
..()
for(var/i in 1 to 3)
new /obj/item/reagent_containers/food/condiment/flour(src)
new /obj/item/reagent_containers/food/condiment/rice(src)
new /obj/item/reagent_containers/food/condiment/sugar(src)
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance
name = "maintenance refrigerator"
desc = "This refrigerator looks quite dusty, is there anything edible still inside?"
req_access = list()
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance/New()
..()
for(var/i = 0, i < 5, i++)
new /obj/item/reagent_containers/food/condiment/milk(src)
for(var/i = 0, i < 5, i++)
new /obj/item/reagent_containers/food/condiment/soymilk(src)
for(var/i = 0, i < 2, i++)
new /obj/item/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
/obj/structure/closet/secure_closet/freezer/meat/New()
..()
for(var/i in 1 to 4)
new /obj/item/reagent_containers/food/snacks/meat/monkey(src)
/obj/structure/closet/secure_closet/freezer/meat/open
req_access = null
locked = FALSE
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
/obj/structure/closet/secure_closet/freezer/fridge/New()
..()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/food/condiment/milk(src)
new /obj/item/reagent_containers/food/condiment/soymilk(src)
for(var/i in 1 to 2)
new /obj/item/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/fridge/open
req_access = null
locked = FALSE
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
req_access = list(ACCESS_HEADS_VAULT)
/obj/structure/closet/secure_closet/freezer/money/New()
..()
for(var/i in 1 to 3)
new /obj/item/stack/spacecash/c1000(src)
for(var/i in 1 to 5)
new /obj/item/stack/spacecash/c500(src)
for(var/i in 1 to 6)
new /obj/item/stack/spacecash/c200(src)
/obj/structure/closet/secure_closet/freezer
desc = "It's a card-locked refrigerative storage unit. This one is lead-lined."
/obj/structure/closet/secure_closet/freezer/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/freezer/ex_act(var/severity)
// IF INDIANA JONES CAN DO IT SO CAN YOU
// Bomb in here? (using same search as space transits searching for nuke disk)
var/list/bombs = search_contents_for(/obj/item/transfer_valve)
if(!isemptylist(bombs)) // You're fucked.
..(severity)
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen cabinet"
req_access = list(ACCESS_KITCHEN)
/obj/structure/closet/secure_closet/freezer/kitchen/New()
..()
for(var/i in 1 to 3)
new /obj/item/reagent_containers/food/condiment/flour(src)
new /obj/item/reagent_containers/food/condiment/rice(src)
new /obj/item/reagent_containers/food/condiment/sugar(src)
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance
name = "maintenance refrigerator"
desc = "This refrigerator looks quite dusty, is there anything edible still inside?"
req_access = list()
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance/New()
..()
for(var/i = 0, i < 5, i++)
new /obj/item/reagent_containers/food/condiment/milk(src)
for(var/i = 0, i < 5, i++)
new /obj/item/reagent_containers/food/condiment/soymilk(src)
for(var/i = 0, i < 2, i++)
new /obj/item/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
/obj/structure/closet/secure_closet/freezer/meat/New()
..()
for(var/i in 1 to 4)
new /obj/item/reagent_containers/food/snacks/meat/monkey(src)
/obj/structure/closet/secure_closet/freezer/meat/open
req_access = null
locked = FALSE
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
/obj/structure/closet/secure_closet/freezer/fridge/New()
..()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/food/condiment/milk(src)
new /obj/item/reagent_containers/food/condiment/soymilk(src)
for(var/i in 1 to 2)
new /obj/item/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/fridge/open
req_access = null
locked = FALSE
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
req_access = list(ACCESS_HEADS_VAULT)
/obj/structure/closet/secure_closet/freezer/money/New()
..()
for(var/i in 1 to 3)
new /obj/item/stack/spacecash/c1000(src)
for(var/i in 1 to 5)
new /obj/item/stack/spacecash/c500(src)
for(var/i in 1 to 6)
new /obj/item/stack/spacecash/c200(src)
@@ -52,4 +52,4 @@
else if(locked)
overlays += icon(src.icon,"locked")
else
overlays += icon(src.icon,"open")
overlays += icon(src.icon,"open")
@@ -23,4 +23,4 @@
new /obj/item/clothing/mask/bandana/botany(src)
new /obj/item/cultivator(src)
new /obj/item/hatchet(src)
new /obj/item/storage/box/disks_plantgene(src)
new /obj/item/storage/box/disks_plantgene(src)
@@ -1,295 +1,295 @@
/obj/structure/closet/secure_closet/medical1
name = "medicine closet"
desc = "Filled with medical junk."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_MEDICAL)
/obj/structure/closet/secure_closet/medical1/New()
..()
new /obj/item/storage/box/autoinjectors(src)
new /obj/item/storage/box/syringes(src)
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/patch_packs(src)
new /obj/item/storage/box/iv_bags(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/reagent_containers/glass/bottle/charcoal(src)
new /obj/item/reagent_containers/glass/bottle/charcoal(src)
/obj/structure/closet/secure_closet/medical2
name = "anesthetic locker"
desc = "Used to knock people out."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_SURGERY)
/obj/structure/closet/secure_closet/medical2/New()
..()
new /obj/item/tank/anesthetic(src)
new /obj/item/tank/anesthetic(src)
new /obj/item/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)
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
req_access = list(ACCESS_SURGERY)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
/obj/structure/closet/secure_closet/medical3/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/storage/backpack/duffel/medical(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/defibrillator/loaded(src)
new /obj/item/handheld_defibrillator(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/shoes/sandal/white(src)
//Exam Room
/obj/structure/closet/secure_closet/exam
name = "exam room closet"
desc = "Filled with exam room materials."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_MEDICAL)
/obj/structure/closet/secure_closet/exam/New()
..()
new /obj/item/storage/box/syringes(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/accessory/stethoscope(src)
new /obj/item/flashlight/pen(src)
new /obj/item/storage/firstaid/regular(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/storage/firstaid/brute(src)
new /obj/item/storage/firstaid/fire(src)
new /obj/item/storage/firstaid/o2(src)
new /obj/item/storage/firstaid/toxin(src)
// Psychiatrist's pill bottle
/obj/item/storage/pill_bottle/psychiatrist
name = "psychiatrist's pill bottle"
desc = "Contains various pills to calm or sedate patients."
wrapper_color = COLOR_PALE_BTL_GREEN
/obj/item/storage/pill_bottle/psychiatrist/New()
..()
new /obj/item/reagent_containers/food/pill/haloperidol(src)
new /obj/item/reagent_containers/food/pill/haloperidol(src)
new /obj/item/reagent_containers/food/pill/haloperidol(src)
new /obj/item/reagent_containers/food/pill/methamphetamine(src)
new /obj/item/reagent_containers/food/pill/methamphetamine(src)
new /obj/item/reagent_containers/food/pill/methamphetamine(src)
new /obj/item/reagent_containers/food/pill/patch/nicotine(src)
new /obj/item/reagent_containers/food/pill/patch/nicotine(src)
new /obj/item/reagent_containers/food/pill/patch/nicotine(src)
new /obj/item/reagent_containers/food/pill/hydrocodone(src)
new /obj/item/reagent_containers/food/pill/hydrocodone(src)
/obj/structure/closet/secure_closet/psychiatrist
name = "psychiatrist's locker"
req_access = list(ACCESS_PSYCHIATRIST)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
/obj/structure/closet/secure_closet/psychiatrist/New()
..()
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/reagent_containers/syringe(src)
new /obj/item/reagent_containers/glass/bottle/ether(src)
new /obj/item/storage/fancy/cigarettes/cigpack_med(src)
new /obj/item/storage/fancy/cigarettes/cigpack_med(src)
new /obj/item/storage/fancy/cigarettes/cigpack_med(src)
new /obj/item/storage/pill_bottle/psychiatrist(src)
new /obj/random/plushie(src)
for(var/i in 0 to 3)
var/candy = pick(subtypesof(/obj/item/reagent_containers/food/snacks/candy/fudge))
new candy(src)
/obj/structure/closet/secure_closet/CMO
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"
/obj/structure/closet/secure_closet/CMO/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/storage/backpack/duffel/medical(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)
switch(pick("blue", "green", "purple"))
if("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
if("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
if("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/suit/mantle/labcoat/chief_medical_officer(src)
new /obj/item/clothing/shoes/brown (src)
new /obj/item/radio/headset/heads/cmo(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/defibrillator/compact/loaded(src)
new /obj/item/handheld_defibrillator(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/flash(src)
new /obj/item/reagent_containers/hypospray/CMO(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/medical(src)
new /obj/item/door_remote/chief_medical_officer(src)
new /obj/item/reagent_containers/food/drinks/mug/cmo(src)
new /obj/item/clothing/accessory/medal/medical(src)
/obj/structure/closet/secure_closet/animal
name = "animal control locker"
req_access = list(ACCESS_SURGERY)
/obj/structure/closet/secure_closet/animal/New()
..()
new /obj/item/assembly/signaler(src)
new /obj/item/radio/electropack(src)
new /obj/item/radio/electropack(src)
new /obj/item/radio/electropack(src)
/obj/structure/closet/secure_closet/chemical
name = "chemical closet"
desc = "Store dangerous chemicals in here."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_CHEMISTRY)
/obj/structure/closet/secure_closet/chemical/New()
..()
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/patch_packs(src)
new /obj/item/storage/box/patch_packs(src)
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
desc = "It's a secure wall-mounted storage unit for first aid supplies."
icon_state = "medical_wall_locked"
icon_closed = "medical_wall_unlocked"
icon_locked = "medical_wall_locked"
icon_opened = "medical_wall_open"
icon_broken = "medical_wall_spark"
icon_off = "medical_wall_off"
anchored = 1
density = 0
wall_mounted = 1
req_access = list(ACCESS_MEDICAL)
/obj/structure/closet/secure_closet/medical_wall/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/paramedic
name = "paramedic EVA gear"
desc = "A locker with a Paramedic EVA suit."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_PARAMEDIC)
/obj/structure/closet/secure_closet/paramedic/New()
..()
new /obj/item/clothing/suit/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/sensor_device(src)
new /obj/item/key/ambulance(src)
new /obj/item/pinpointer/crew(src)
new /obj/item/handheld_defibrillator(src)
/obj/structure/closet/secure_closet/reagents
name = "chemical storage closet"
desc = "Store dangerous chemicals in here."
icon_state = "chemical1"
icon_closed = "chemical"
icon_locked = "chemical1"
icon_opened = "medicalopen"
icon_broken = "chemicalbroken"
icon_off = "chemicaloff"
req_access = list(ACCESS_CHEMISTRY)
/obj/structure/closet/secure_closet/reagents/New()
..()
new /obj/item/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/reagent_containers/glass/bottle/reagent/diethylamine(src)
/obj/structure/closet/secure_closet/medical1
name = "medicine closet"
desc = "Filled with medical junk."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_MEDICAL)
/obj/structure/closet/secure_closet/medical1/New()
..()
new /obj/item/storage/box/autoinjectors(src)
new /obj/item/storage/box/syringes(src)
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/patch_packs(src)
new /obj/item/storage/box/iv_bags(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/beaker(src)
new /obj/item/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/reagent_containers/glass/bottle/epinephrine(src)
new /obj/item/reagent_containers/glass/bottle/charcoal(src)
new /obj/item/reagent_containers/glass/bottle/charcoal(src)
/obj/structure/closet/secure_closet/medical2
name = "anesthetic locker"
desc = "Used to knock people out."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_SURGERY)
/obj/structure/closet/secure_closet/medical2/New()
..()
new /obj/item/tank/anesthetic(src)
new /obj/item/tank/anesthetic(src)
new /obj/item/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)
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
req_access = list(ACCESS_SURGERY)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
/obj/structure/closet/secure_closet/medical3/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/storage/backpack/duffel/medical(src)
new /obj/item/clothing/under/rank/medical(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/defibrillator/loaded(src)
new /obj/item/handheld_defibrillator(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/shoes/sandal/white(src)
//Exam Room
/obj/structure/closet/secure_closet/exam
name = "exam room closet"
desc = "Filled with exam room materials."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_MEDICAL)
/obj/structure/closet/secure_closet/exam/New()
..()
new /obj/item/storage/box/syringes(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/glasses/hud/health(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/accessory/stethoscope(src)
new /obj/item/flashlight/pen(src)
new /obj/item/storage/firstaid/regular(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/storage/firstaid/brute(src)
new /obj/item/storage/firstaid/fire(src)
new /obj/item/storage/firstaid/o2(src)
new /obj/item/storage/firstaid/toxin(src)
// Psychiatrist's pill bottle
/obj/item/storage/pill_bottle/psychiatrist
name = "psychiatrist's pill bottle"
desc = "Contains various pills to calm or sedate patients."
wrapper_color = COLOR_PALE_BTL_GREEN
/obj/item/storage/pill_bottle/psychiatrist/New()
..()
new /obj/item/reagent_containers/food/pill/haloperidol(src)
new /obj/item/reagent_containers/food/pill/haloperidol(src)
new /obj/item/reagent_containers/food/pill/haloperidol(src)
new /obj/item/reagent_containers/food/pill/methamphetamine(src)
new /obj/item/reagent_containers/food/pill/methamphetamine(src)
new /obj/item/reagent_containers/food/pill/methamphetamine(src)
new /obj/item/reagent_containers/food/pill/patch/nicotine(src)
new /obj/item/reagent_containers/food/pill/patch/nicotine(src)
new /obj/item/reagent_containers/food/pill/patch/nicotine(src)
new /obj/item/reagent_containers/food/pill/hydrocodone(src)
new /obj/item/reagent_containers/food/pill/hydrocodone(src)
/obj/structure/closet/secure_closet/psychiatrist
name = "psychiatrist's locker"
req_access = list(ACCESS_PSYCHIATRIST)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
/obj/structure/closet/secure_closet/psychiatrist/New()
..()
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/reagent_containers/syringe(src)
new /obj/item/reagent_containers/glass/bottle/ether(src)
new /obj/item/storage/fancy/cigarettes/cigpack_med(src)
new /obj/item/storage/fancy/cigarettes/cigpack_med(src)
new /obj/item/storage/fancy/cigarettes/cigpack_med(src)
new /obj/item/storage/pill_bottle/psychiatrist(src)
new /obj/random/plushie(src)
for(var/i in 0 to 3)
var/candy = pick(subtypesof(/obj/item/reagent_containers/food/snacks/candy/fudge))
new candy(src)
/obj/structure/closet/secure_closet/CMO
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"
/obj/structure/closet/secure_closet/CMO/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/storage/backpack/duffel/medical(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)
switch(pick("blue", "green", "purple"))
if("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
if("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
if("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/suit/mantle/labcoat/chief_medical_officer(src)
new /obj/item/clothing/shoes/brown (src)
new /obj/item/radio/headset/heads/cmo(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/defibrillator/compact/loaded(src)
new /obj/item/handheld_defibrillator(src)
new /obj/item/storage/belt/medical(src)
new /obj/item/flash(src)
new /obj/item/reagent_containers/hypospray/CMO(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/medical(src)
new /obj/item/door_remote/chief_medical_officer(src)
new /obj/item/reagent_containers/food/drinks/mug/cmo(src)
new /obj/item/clothing/accessory/medal/medical(src)
/obj/structure/closet/secure_closet/animal
name = "animal control locker"
req_access = list(ACCESS_SURGERY)
/obj/structure/closet/secure_closet/animal/New()
..()
new /obj/item/assembly/signaler(src)
new /obj/item/radio/electropack(src)
new /obj/item/radio/electropack(src)
new /obj/item/radio/electropack(src)
/obj/structure/closet/secure_closet/chemical
name = "chemical closet"
desc = "Store dangerous chemicals in here."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_CHEMISTRY)
/obj/structure/closet/secure_closet/chemical/New()
..()
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/pillbottles(src)
new /obj/item/storage/box/patch_packs(src)
new /obj/item/storage/box/patch_packs(src)
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
desc = "It's a secure wall-mounted storage unit for first aid supplies."
icon_state = "medical_wall_locked"
icon_closed = "medical_wall_unlocked"
icon_locked = "medical_wall_locked"
icon_opened = "medical_wall_open"
icon_broken = "medical_wall_spark"
icon_off = "medical_wall_off"
anchored = 1
density = 0
wall_mounted = 1
req_access = list(ACCESS_MEDICAL)
/obj/structure/closet/secure_closet/medical_wall/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/paramedic
name = "paramedic EVA gear"
desc = "A locker with a Paramedic EVA suit."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(ACCESS_PARAMEDIC)
/obj/structure/closet/secure_closet/paramedic/New()
..()
new /obj/item/clothing/suit/space/eva/paramedic(src)
new /obj/item/clothing/head/helmet/space/eva/paramedic(src)
new /obj/item/sensor_device(src)
new /obj/item/key/ambulance(src)
new /obj/item/pinpointer/crew(src)
new /obj/item/handheld_defibrillator(src)
/obj/structure/closet/secure_closet/reagents
name = "chemical storage closet"
desc = "Store dangerous chemicals in here."
icon_state = "chemical1"
icon_closed = "chemical"
icon_locked = "chemical1"
icon_opened = "medicalopen"
icon_broken = "chemicalbroken"
icon_off = "chemicaloff"
req_access = list(ACCESS_CHEMISTRY)
/obj/structure/closet/secure_closet/reagents/New()
..()
new /obj/item/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/reagent_containers/glass/bottle/reagent/diethylamine(src)
@@ -1,89 +1,89 @@
/obj/structure/closet/secure_closet/personal
desc = "It's a secure locker for personnel. The first card swiped gains control."
name = "personal closet"
req_access = list(ACCESS_ALL_PERSONAL_LOCKERS)
var/registered_name = null
/obj/structure/closet/secure_closet/personal/New()
..()
if(prob(50))
new /obj/item/storage/backpack/duffel(src)
if(prob(50))
new /obj/item/storage/backpack(src)
else
new /obj/item/storage/backpack/satchel_norm(src)
new /obj/item/radio/headset( src )
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
/obj/structure/closet/secure_closet/personal/patient/New()
..()
contents.Cut()
new /obj/item/clothing/under/color/white( src )
new /obj/item/clothing/shoes/white( src )
/obj/structure/closet/secure_closet/personal/cabinet
icon_state = "cabinetdetective_locked"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
resistance_flags = FLAMMABLE
max_integrity = 70
/obj/structure/closet/secure_closet/personal/cabinet/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/personal/cabinet/New()
..()
contents.Cut()
new /obj/item/storage/backpack/satchel/withwallet( src )
new /obj/item/radio/headset( src )
/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob, params)
if(src.opened)
if(istype(W, /obj/item/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
user.drop_item()
if(W) W.forceMove(loc)
else if(istype(W, /obj/item/card/id))
if(src.broken)
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
return
var/obj/item/card/id/I = W
if(!I || !I.registered_name) return
if(src == user.loc)
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
else if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
//they can open all lockers, or nobody owns this, or they own this locker
src.locked = !( src.locked )
if(src.locked)
src.icon_state = src.icon_locked
else
src.icon_state = src.icon_closed
registered_name = null
desc = initial(desc)
if(!src.registered_name && src.locked)
src.registered_name = I.registered_name
src.desc = "Owned by [I.registered_name]."
else
to_chat(user, "<span class='warning'>Access Denied</span>")
else if((istype(W, /obj/item/card/emag) || istype(W, /obj/item/melee/energy/blade)) && !broken)
emag_act(user)
else
return ..()
/obj/structure/closet/secure_closet/personal
desc = "It's a secure locker for personnel. The first card swiped gains control."
name = "personal closet"
req_access = list(ACCESS_ALL_PERSONAL_LOCKERS)
var/registered_name = null
/obj/structure/closet/secure_closet/personal/New()
..()
if(prob(50))
new /obj/item/storage/backpack/duffel(src)
if(prob(50))
new /obj/item/storage/backpack(src)
else
new /obj/item/storage/backpack/satchel_norm(src)
new /obj/item/radio/headset( src )
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
/obj/structure/closet/secure_closet/personal/patient/New()
..()
contents.Cut()
new /obj/item/clothing/under/color/white( src )
new /obj/item/clothing/shoes/white( src )
/obj/structure/closet/secure_closet/personal/cabinet
icon_state = "cabinetdetective_locked"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
resistance_flags = FLAMMABLE
max_integrity = 70
/obj/structure/closet/secure_closet/personal/cabinet/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/personal/cabinet/New()
..()
contents.Cut()
new /obj/item/storage/backpack/satchel/withwallet( src )
new /obj/item/radio/headset( src )
/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob, params)
if(src.opened)
if(istype(W, /obj/item/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
user.drop_item()
if(W) W.forceMove(loc)
else if(istype(W, /obj/item/card/id))
if(src.broken)
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
return
var/obj/item/card/id/I = W
if(!I || !I.registered_name) return
if(src == user.loc)
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
else if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
//they can open all lockers, or nobody owns this, or they own this locker
src.locked = !( src.locked )
if(src.locked)
src.icon_state = src.icon_locked
else
src.icon_state = src.icon_closed
registered_name = null
desc = initial(desc)
if(!src.registered_name && src.locked)
src.registered_name = I.registered_name
src.desc = "Owned by [I.registered_name]."
else
to_chat(user, "<span class='warning'>Access Denied</span>")
else if((istype(W, /obj/item/card/emag) || istype(W, /obj/item/melee/energy/blade)) && !broken)
emag_act(user)
else
return ..()
@@ -1,108 +1,108 @@
/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"
/obj/structure/closet/secure_closet/scientist/New()
..()
new /obj/item/storage/backpack/science(src)
new /obj/item/storage/backpack/satchel_tox(src)
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist/skirt(src)
//new /obj/item/clothing/suit/labcoat/science(src)
new /obj/item/clothing/suit/storage/labcoat/science(src)
new /obj/item/clothing/shoes/white(src)
// new /obj/item/cartridge/signal/toxins(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/roboticist
name = "roboticist's locker"
req_access = list(ACCESS_ROBOTICS)
icon_state = "secureres1"
icon_closed = "secureres"
icon_locked = "secureres1"
icon_opened = "secureresopen"
icon_broken = "secureresbroken"
icon_off = "secureresoff"
/obj/structure/closet/secure_closet/roboticist/New()
..()
new /obj/item/storage/backpack(src)
new /obj/item/storage/backpack(src)
new /obj/item/storage/backpack/satchel_norm(src)
new /obj/item/storage/backpack/satchel_norm(src)
new /obj/item/storage/backpack/duffel(src)
new /obj/item/storage/backpack/duffel(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/reagent_containers/food/drinks/oilcan(src)
new /obj/item/reagent_containers/food/drinks/oilcan(src)
/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"
/obj/structure/closet/secure_closet/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/suit/storage/labcoat(src)
new /obj/item/clothing/suit/mantle/labcoat(src)
new /obj/item/cartridge/rd(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/radio/headset/heads/rd(src)
new /obj/item/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/suit/armor/reactive/teleport(src)
new /obj/item/flash(src)
new /obj/item/laser_pointer(src)
new /obj/item/door_remote/research_director(src)
new /obj/item/reagent_containers/food/drinks/mug/rd(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic(src)
new /obj/item/clothing/accessory/medal/science(src)
/obj/structure/closet/secure_closet/research_reagents
name = "research chemical storage closet"
desc = "Store dangerous chemicals in here."
icon_state = "rchemical1"
icon_closed = "rchemical"
icon_locked = "rchemical1"
icon_opened = "medicalopen"
icon_broken = "rchemicalbroken"
icon_off = "rchemicaloff"
req_access = list(ACCESS_TOX_STORAGE)
/obj/structure/closet/secure_closet/research_reagents/New()
..()
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/reagent_containers/glass/bottle/reagent/diethylamine(src)
/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"
/obj/structure/closet/secure_closet/scientist/New()
..()
new /obj/item/storage/backpack/science(src)
new /obj/item/storage/backpack/satchel_tox(src)
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist/skirt(src)
//new /obj/item/clothing/suit/labcoat/science(src)
new /obj/item/clothing/suit/storage/labcoat/science(src)
new /obj/item/clothing/shoes/white(src)
// new /obj/item/cartridge/signal/toxins(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/roboticist
name = "roboticist's locker"
req_access = list(ACCESS_ROBOTICS)
icon_state = "secureres1"
icon_closed = "secureres"
icon_locked = "secureres1"
icon_opened = "secureresopen"
icon_broken = "secureresbroken"
icon_off = "secureresoff"
/obj/structure/closet/secure_closet/roboticist/New()
..()
new /obj/item/storage/backpack(src)
new /obj/item/storage/backpack(src)
new /obj/item/storage/backpack/satchel_norm(src)
new /obj/item/storage/backpack/satchel_norm(src)
new /obj/item/storage/backpack/duffel(src)
new /obj/item/storage/backpack/duffel(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/radio/headset/headset_sci(src)
new /obj/item/reagent_containers/food/drinks/oilcan(src)
new /obj/item/reagent_containers/food/drinks/oilcan(src)
/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"
/obj/structure/closet/secure_closet/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/suit/storage/labcoat(src)
new /obj/item/clothing/suit/mantle/labcoat(src)
new /obj/item/cartridge/rd(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/radio/headset/heads/rd(src)
new /obj/item/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/suit/armor/reactive/teleport(src)
new /obj/item/flash(src)
new /obj/item/laser_pointer(src)
new /obj/item/door_remote/research_director(src)
new /obj/item/reagent_containers/food/drinks/mug/rd(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic(src)
new /obj/item/clothing/accessory/medal/science(src)
/obj/structure/closet/secure_closet/research_reagents
name = "research chemical storage closet"
desc = "Store dangerous chemicals in here."
icon_state = "rchemical1"
icon_closed = "rchemical"
icon_locked = "rchemical1"
icon_opened = "medicalopen"
icon_broken = "rchemicalbroken"
icon_off = "rchemicaloff"
req_access = list(ACCESS_TOX_STORAGE)
/obj/structure/closet/secure_closet/research_reagents/New()
..()
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/morphine(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/insulin(src)
new /obj/item/reagent_containers/glass/bottle/reagent/phenol(src)
new /obj/item/reagent_containers/glass/bottle/reagent/ammonia(src)
new /obj/item/reagent_containers/glass/bottle/reagent/oil(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acetone(src)
new /obj/item/reagent_containers/glass/bottle/reagent/acid(src)
new /obj/item/reagent_containers/glass/bottle/reagent/diethylamine(src)
@@ -1,179 +1,179 @@
/obj/structure/closet/secure_closet
name = "secure locker"
desc = "It's an immobile card-locked storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "secure1"
density = 1
opened = 0
locked = 1
broken = 0
max_integrity = 250
armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
damage_deflection = 20
var/large = 1
icon_closed = "secure"
var/icon_locked = "secure1"
icon_opened = "secureopen"
var/icon_broken = "securebroken"
var/icon_off = "secureoff"
wall_mounted = 0 //never solid (You can always pass over it)
/obj/structure/closet/secure_closet/can_open()
if(!..())
return 0
if(locked)
return 0
return ..()
/obj/structure/closet/secure_closet/close()
if(..())
if(broken)
icon_state = icon_off
return 1
else
return 0
/obj/structure/closet/secure_closet/emp_act(severity)
for(var/obj/O in src)
O.emp_act(severity)
if(!broken)
if(prob(50/severity))
locked = !locked
update_icon()
if(prob(20/severity) && !opened)
if(!locked)
open()
else
req_access = list()
req_access += pick(get_all_accesses())
..()
/obj/structure/closet/secure_closet/proc/togglelock(mob/user)
if(opened)
to_chat(user, "<span class='notice'>Close the locker first.</span>")
return
if(broken)
to_chat(user, "<span class='warning'>The locker appears to be broken.</span>")
return
if(user.loc == src)
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
return
if(allowed(user))
locked = !locked
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
visible_message("<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>")
update_icon()
else
to_chat(user, "<span class='notice'>Access Denied</span>")
/obj/structure/closet/secure_closet/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/rcs))
return ..()
if(opened)
if(istype(W, /obj/item/grab))
if(large)
MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
else
to_chat(user, "<span class='notice'>The locker is too small to stuff [W:affecting] into!</span>")
if(isrobot(user))
return
if(!user.drop_item()) //couldn't drop the item
to_chat(user, "<span class='notice'>\The [W] is stuck to your hand, you cannot put it in \the [src]!</span>")
return
if(W)
W.forceMove(loc)
else if((istype(W, /obj/item/card/emag)||istype(W, /obj/item/melee/energy/blade)) && !broken)
emag_act(user)
else if(istype(W,/obj/item/stack/packageWrap) || istype(W,/obj/item/weldingtool))
return ..(W, user)
else if(user.a_intent != INTENT_HARM)
togglelock(user)
else
return ..()
/obj/structure/closet/secure_closet/emag_act(mob/user)
if(!broken)
broken = TRUE
locked = FALSE
icon_state = icon_off
flick(icon_broken, src)
to_chat(user, "<span class='notice'>You break the lock on \the [src].</span>")
/obj/structure/closet/secure_closet/attack_hand(mob/user)
add_fingerprint(user)
if(locked)
togglelock(user)
else
toggle(user)
/obj/structure/closet/secure_closet/verb/verb_togglelock()
set src in oview(1) // One square distance
set category = "Object"
set name = "Toggle Lock"
if(usr.incapacitated()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(ishuman(usr))
add_fingerprint(usr)
togglelock(usr)
else
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
/obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
overlays.Cut()
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/container_resist(var/mob/living/L)
var/breakout_time = 2 //2 minutes by default
if(opened)
if(L.loc == src)
L.forceMove(get_turf(src)) // Let's just be safe here
return //Door's open... wait, why are you in it's contents then?
if(!locked && !welded)
return //It's a secure closet, but isn't locked. Easily escapable from, no need to 'resist'
//okay, so the closet is either welded or locked... resist!!!
L.changeNext_move(CLICK_CD_BREAKOUT)
L.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
for(var/mob/O in viewers(src))
O.show_message("<span class='danger'>The [src] begins to shake violently!</span>", 1)
spawn(0)
if(do_after(usr,(breakout_time*60*10), target = src)) //minutes * 60seconds * 10deciseconds
if(!src || !L || L.stat != CONSCIOUS || L.loc != src || opened) //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened
return
//Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'...
if(!locked && !welded)
return
//Well then break it!
desc = "It appears to be broken."
icon_state = icon_off
flick(icon_broken, src)
sleep(10)
flick(icon_broken, src)
sleep(10)
broken = 1
locked = 0
welded = 0
update_icon()
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
for(var/mob/O in viewers(L.loc))
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
if(istype(loc, /obj/structure/bigDelivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace)
var/obj/structure/bigDelivery/BD = loc
BD.attack_hand(usr)
open()
/obj/structure/closet/secure_closet
name = "secure locker"
desc = "It's an immobile card-locked storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "secure1"
density = 1
opened = 0
locked = 1
broken = 0
max_integrity = 250
armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
damage_deflection = 20
var/large = 1
icon_closed = "secure"
var/icon_locked = "secure1"
icon_opened = "secureopen"
var/icon_broken = "securebroken"
var/icon_off = "secureoff"
wall_mounted = 0 //never solid (You can always pass over it)
/obj/structure/closet/secure_closet/can_open()
if(!..())
return 0
if(locked)
return 0
return ..()
/obj/structure/closet/secure_closet/close()
if(..())
if(broken)
icon_state = icon_off
return 1
else
return 0
/obj/structure/closet/secure_closet/emp_act(severity)
for(var/obj/O in src)
O.emp_act(severity)
if(!broken)
if(prob(50/severity))
locked = !locked
update_icon()
if(prob(20/severity) && !opened)
if(!locked)
open()
else
req_access = list()
req_access += pick(get_all_accesses())
..()
/obj/structure/closet/secure_closet/proc/togglelock(mob/user)
if(opened)
to_chat(user, "<span class='notice'>Close the locker first.</span>")
return
if(broken)
to_chat(user, "<span class='warning'>The locker appears to be broken.</span>")
return
if(user.loc == src)
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
return
if(allowed(user))
locked = !locked
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
visible_message("<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>")
update_icon()
else
to_chat(user, "<span class='notice'>Access Denied</span>")
/obj/structure/closet/secure_closet/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/rcs))
return ..()
if(opened)
if(istype(W, /obj/item/grab))
if(large)
MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
else
to_chat(user, "<span class='notice'>The locker is too small to stuff [W:affecting] into!</span>")
if(isrobot(user))
return
if(!user.drop_item()) //couldn't drop the item
to_chat(user, "<span class='notice'>\The [W] is stuck to your hand, you cannot put it in \the [src]!</span>")
return
if(W)
W.forceMove(loc)
else if((istype(W, /obj/item/card/emag)||istype(W, /obj/item/melee/energy/blade)) && !broken)
emag_act(user)
else if(istype(W,/obj/item/stack/packageWrap) || istype(W,/obj/item/weldingtool))
return ..(W, user)
else if(user.a_intent != INTENT_HARM)
togglelock(user)
else
return ..()
/obj/structure/closet/secure_closet/emag_act(mob/user)
if(!broken)
broken = TRUE
locked = FALSE
icon_state = icon_off
flick(icon_broken, src)
to_chat(user, "<span class='notice'>You break the lock on \the [src].</span>")
/obj/structure/closet/secure_closet/attack_hand(mob/user)
add_fingerprint(user)
if(locked)
togglelock(user)
else
toggle(user)
/obj/structure/closet/secure_closet/verb/verb_togglelock()
set src in oview(1) // One square distance
set category = "Object"
set name = "Toggle Lock"
if(usr.incapacitated()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(ishuman(usr))
add_fingerprint(usr)
togglelock(usr)
else
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
/obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
overlays.Cut()
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/container_resist(var/mob/living/L)
var/breakout_time = 2 //2 minutes by default
if(opened)
if(L.loc == src)
L.forceMove(get_turf(src)) // Let's just be safe here
return //Door's open... wait, why are you in it's contents then?
if(!locked && !welded)
return //It's a secure closet, but isn't locked. Easily escapable from, no need to 'resist'
//okay, so the closet is either welded or locked... resist!!!
L.changeNext_move(CLICK_CD_BREAKOUT)
L.last_special = world.time + CLICK_CD_BREAKOUT
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
for(var/mob/O in viewers(src))
O.show_message("<span class='danger'>The [src] begins to shake violently!</span>", 1)
spawn(0)
if(do_after(usr,(breakout_time*60*10), target = src)) //minutes * 60seconds * 10deciseconds
if(!src || !L || L.stat != CONSCIOUS || L.loc != src || opened) //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened
return
//Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'...
if(!locked && !welded)
return
//Well then break it!
desc = "It appears to be broken."
icon_state = icon_off
flick(icon_broken, src)
sleep(10)
flick(icon_broken, src)
sleep(10)
broken = 1
locked = 0
welded = 0
update_icon()
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
for(var/mob/O in viewers(L.loc))
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
if(istype(loc, /obj/structure/bigDelivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace)
var/obj/structure/bigDelivery/BD = loc
BD.attack_hand(usr)
open()
@@ -1,468 +1,468 @@
/obj/structure/closet/secure_closet/captains
name = "captain'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"
/obj/structure/closet/secure_closet/captains/New()
..()
if(prob(50))
new /obj/item/storage/backpack/captain(src)
else
new /obj/item/storage/backpack/satchel_cap(src)
new /obj/item/book/manual/faxes(src)
new /obj/item/storage/backpack/duffel/captain(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
new /obj/item/clothing/suit/mantle/armor/captain(src)
new /obj/item/clothing/under/captainparade(src)
new /obj/item/clothing/head/caphat/parade(src)
new /obj/item/clothing/under/rank/captain(src)
new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
new /obj/item/cartridge/captain(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/radio/headset/heads/captain/alt(src)
new /obj/item/clothing/gloves/color/captain(src)
new /obj/item/storage/belt/rapier(src)
new /obj/item/gun/energy/gun(src)
new /obj/item/door_remote/captain(src)
new /obj/item/reagent_containers/food/drinks/mug/cap(src)
new /obj/item/tank/emergency_oxygen/double(src)
/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"
/obj/structure/closet/secure_closet/hop/New()
..()
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/head/hopcap(src)
new /obj/item/cartridge/hop(src)
new /obj/item/radio/headset/heads/hop(src)
new /obj/item/storage/box/ids(src)
new /obj/item/storage/box/PDAs(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/gun/energy/gun/mini(src)
new /obj/item/flash(src)
new /obj/item/clothing/accessory/petcollar(src)
new /obj/item/door_remote/civillian(src)
new /obj/item/reagent_containers/food/drinks/mug/hop(src)
new /obj/item/clothing/accessory/medal/service(src)
/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"
/obj/structure/closet/secure_closet/hop2/New()
..()
new /obj/item/clothing/under/rank/head_of_personnel(src)
new /obj/item/clothing/suit/mantle/armor/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/red(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)
/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"
/obj/structure/closet/secure_closet/hos/New()
..()
if(prob(50))
new /obj/item/storage/backpack/security(src)
else
new /obj/item/storage/backpack/satchel_sec(src)
new /obj/item/cartridge/hos(src)
new /obj/item/radio/headset/heads/hos/alt(src)
new /obj/item/clothing/under/rank/head_of_security(src)
new /obj/item/clothing/under/rank/head_of_security/formal(src)
new /obj/item/clothing/under/rank/head_of_security/corp(src)
new /obj/item/clothing/under/rank/head_of_security/skirt(src)
new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/suit/armor/hos/alt(src)
new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/head/HoS/beret(src)
new /obj/item/clothing/suit/mantle/armor(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/storage/lockbox/mindshield(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer/hos(src)
new /obj/item/shield/riot/tele(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/gun/energy/gun/hos(src)
new /obj/item/door_remote/head_of_security(src)
new /obj/item/reagent_containers/food/drinks/mug/hos(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/security(src)
new /obj/item/clothing/accessory/medal/security(src)
/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"
/obj/structure/closet/secure_closet/warden/New()
..()
if(prob(50))
new /obj/item/storage/backpack/security(src)
else
new /obj/item/storage/backpack/satchel_sec(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/suit/armor/vest/warden(src)
new /obj/item/clothing/head/warden(src)
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
new /obj/item/clothing/head/beret/sec/warden(src)
new /obj/item/clothing/under/rank/warden(src)
new /obj/item/clothing/under/rank/warden/formal(src)
new /obj/item/clothing/under/rank/warden/corp(src)
new /obj/item/clothing/under/rank/warden/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer/warden(src)
new /obj/item/storage/box/zipties(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/gun/energy/gun/advtaser(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/storage/box/holobadge(src)
new /obj/item/clothing/gloves/color/black/krav_maga/sec(src)
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(ACCESS_SECURITY)
icon_state = "sec1"
icon_closed = "sec"
icon_locked = "sec1"
icon_opened = "secopen"
icon_broken = "secbroken"
icon_off = "secoff"
/obj/structure/closet/secure_closet/security/New()
..()
if(prob(50))
new /obj/item/storage/backpack/security(src)
else
new /obj/item/storage/backpack/satchel_sec(src)
new /obj/item/clothing/suit/armor/vest/security(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/head/soft/sec(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/flash(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/clothing/suit/armor/secjacket(src)
/obj/structure/closet/secure_closet/brigdoc
name = "brig physician's locker"
req_access = list(ACCESS_SECURITY)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
/obj/structure/closet/secure_closet/brigdoc/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/flash(src)
new /obj/item/storage/firstaid/regular(src)
new /obj/item/storage/firstaid/fire(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/storage/firstaid/o2(src)
new /obj/item/storage/firstaid/toxin(src)
new /obj/item/clothing/suit/storage/brigdoc(src)
new /obj/item/clothing/under/rank/security/brigphys(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/blueshield
name = "blueshield's locker"
req_access = list(ACCESS_BLUESHIELD)
icon_state = "bssecure1"
icon_closed = "bssecure"
icon_locked = "bssecure1"
icon_opened = "bssecureopen"
icon_broken = "bssecurebroken"
icon_off = "bssecureoff"
/obj/structure/closet/secure_closet/blueshield/New()
..()
new /obj/item/storage/briefcase(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/pinpointer/crew(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/flash(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/read_only(src)
new /obj/item/clothing/glasses/hud/health/sunglasses
new /obj/item/clothing/head/beret/centcom/officer(src)
new /obj/item/clothing/head/beret/centcom/officer/navy(src)
new /obj/item/clothing/suit/armor/vest/blueshield(src)
new /obj/item/clothing/suit/storage/blueshield(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/accessory/holster(src)
new /obj/item/clothing/accessory/blue(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
new /obj/item/clothing/under/rank/centcom/blueshield(src)
/obj/structure/closet/secure_closet/ntrep
name = "\improper Nanotrasen Representative's locker"
req_access = list(ACCESS_NTREP)
icon_state = "ntsecure1"
icon_closed = "ntsecure"
icon_locked = "ntsecure1"
icon_opened = "ntsecureopen"
icon_broken = "ntsecurebroken"
icon_off = "ntsecureoff"
/obj/structure/closet/secure_closet/ntrep/New()
..()
new /obj/item/book/manual/faxes(src)
new /obj/item/storage/briefcase(src)
new /obj/item/paicard(src)
new /obj/item/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/gloves/color/white(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/under/lawyer/oldman(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/rank/centcom/representative(src)
new /obj/item/clothing/head/ntrep(src)
new /obj/item/clothing/shoes/sandal/fancy(src)
new /obj/item/storage/box/tapes(src)
new /obj/item/taperecorder(src)
/obj/structure/closet/secure_closet/security/cargo
/obj/structure/closet/secure_closet/security/cargo/New()
..()
new /obj/item/clothing/accessory/armband/cargo(src)
new /obj/item/encryptionkey/headset_cargo(src)
/obj/structure/closet/secure_closet/security/engine
/obj/structure/closet/secure_closet/security/engine/New()
..()
new /obj/item/clothing/accessory/armband/engine(src)
new /obj/item/encryptionkey/headset_eng(src)
/obj/structure/closet/secure_closet/security/science
/obj/structure/closet/secure_closet/security/science/New()
..()
new /obj/item/clothing/accessory/armband/science(src)
new /obj/item/encryptionkey/headset_sci(src)
/obj/structure/closet/secure_closet/security/med
/obj/structure/closet/secure_closet/security/med/New()
..()
new /obj/item/clothing/accessory/armband/medgreen(src)
new /obj/item/encryptionkey/headset_med(src)
/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"
resistance_flags = FLAMMABLE
max_integrity = 70
/obj/structure/closet/secure_closet/detective/New()
..()
new /obj/item/clothing/under/det(src)
new /obj/item/clothing/suit/storage/det_suit(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/blue(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/red(src)
new /obj/item/clothing/gloves/color/black/forensics(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/storage/box/evidence(src)
new /obj/item/clipboard(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/detective_scanner(src)
new /obj/item/clothing/suit/armor/vest/det_suit(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/gun/projectile/revolver/detective(src)
new /obj/item/clothing/accessory/holster/armpit(src)
new /obj/item/clothing/glasses/sunglasses/yeah(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/accessory/black(src)
new /obj/item/taperecorder(src)
new /obj/item/storage/box/tapes(src)
/obj/structure/closet/secure_closet/detective/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(ACCESS_SECURITY)
/obj/structure/closet/secure_closet/injection/New()
..()
new /obj/item/reagent_containers/syringe/lethal(src)
new /obj/item/reagent_containers/syringe/lethal(src)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(ACCESS_BRIG)
anchored = 1
var/id = null
/obj/structure/closet/secure_closet/brig/New()
..()
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/card/id/prisoner/random(src)
new /obj/item/radio/headset(src)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(ACCESS_COURT)
/obj/structure/closet/secure_closet/courtroom/New()
..()
new /obj/item/clothing/shoes/brown(src)
new /obj/item/paper/Court (src)
new /obj/item/paper/Court (src)
new /obj/item/paper/Court (src)
new /obj/item/pen (src)
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/storage/briefcase(src)
/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"
//too small to put a man in
large = 0
/obj/structure/closet/secure_closet/wall/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/magistrate
name = "\improper Magistrate's locker"
req_access = list(ACCESS_MAGISTRATE)
icon_state = "magistratesecure1"
icon_closed = "magistratesecure"
icon_locked = "magistratesecure1"
icon_opened = "magistratesecureopen"
icon_broken = "magistratesecurebroken"
icon_off = "magistratesecureoff"
/obj/structure/closet/secure_closet/magistrate/New()
..()
new /obj/item/book/manual/faxes(src)
new /obj/item/storage/secure/briefcase(src)
new /obj/item/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/gloves/color/white(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
new /obj/item/clothing/under/rank/centcom/magistrate(src)
new /obj/item/clothing/suit/judgerobe(src)
new /obj/item/clothing/head/powdered_wig(src)
new /obj/item/gavelblock(src)
new /obj/item/gavelhammer(src)
new /obj/item/clothing/head/justice_wig(src)
new /obj/item/clothing/accessory/medal/legal(src)
/obj/structure/closet/secure_closet/captains
name = "captain'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"
/obj/structure/closet/secure_closet/captains/New()
..()
if(prob(50))
new /obj/item/storage/backpack/captain(src)
else
new /obj/item/storage/backpack/satchel_cap(src)
new /obj/item/book/manual/faxes(src)
new /obj/item/storage/backpack/duffel/captain(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
new /obj/item/clothing/suit/mantle/armor/captain(src)
new /obj/item/clothing/under/captainparade(src)
new /obj/item/clothing/head/caphat/parade(src)
new /obj/item/clothing/under/rank/captain(src)
new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
new /obj/item/cartridge/captain(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/radio/headset/heads/captain/alt(src)
new /obj/item/clothing/gloves/color/captain(src)
new /obj/item/storage/belt/rapier(src)
new /obj/item/gun/energy/gun(src)
new /obj/item/door_remote/captain(src)
new /obj/item/reagent_containers/food/drinks/mug/cap(src)
new /obj/item/tank/emergency_oxygen/double(src)
/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"
/obj/structure/closet/secure_closet/hop/New()
..()
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/head/hopcap(src)
new /obj/item/cartridge/hop(src)
new /obj/item/radio/headset/heads/hop(src)
new /obj/item/storage/box/ids(src)
new /obj/item/storage/box/PDAs(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/gun/energy/gun/mini(src)
new /obj/item/flash(src)
new /obj/item/clothing/accessory/petcollar(src)
new /obj/item/door_remote/civillian(src)
new /obj/item/reagent_containers/food/drinks/mug/hop(src)
new /obj/item/clothing/accessory/medal/service(src)
/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"
/obj/structure/closet/secure_closet/hop2/New()
..()
new /obj/item/clothing/under/rank/head_of_personnel(src)
new /obj/item/clothing/suit/mantle/armor/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/red(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)
/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"
/obj/structure/closet/secure_closet/hos/New()
..()
if(prob(50))
new /obj/item/storage/backpack/security(src)
else
new /obj/item/storage/backpack/satchel_sec(src)
new /obj/item/cartridge/hos(src)
new /obj/item/radio/headset/heads/hos/alt(src)
new /obj/item/clothing/under/rank/head_of_security(src)
new /obj/item/clothing/under/rank/head_of_security/formal(src)
new /obj/item/clothing/under/rank/head_of_security/corp(src)
new /obj/item/clothing/under/rank/head_of_security/skirt(src)
new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/suit/armor/hos/alt(src)
new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/head/HoS/beret(src)
new /obj/item/clothing/suit/mantle/armor(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/storage/lockbox/mindshield(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer/hos(src)
new /obj/item/shield/riot/tele(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/gun/energy/gun/hos(src)
new /obj/item/door_remote/head_of_security(src)
new /obj/item/reagent_containers/food/drinks/mug/hos(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/security(src)
new /obj/item/clothing/accessory/medal/security(src)
/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"
/obj/structure/closet/secure_closet/warden/New()
..()
if(prob(50))
new /obj/item/storage/backpack/security(src)
else
new /obj/item/storage/backpack/satchel_sec(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/suit/armor/vest/warden(src)
new /obj/item/clothing/head/warden(src)
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
new /obj/item/clothing/head/beret/sec/warden(src)
new /obj/item/clothing/under/rank/warden(src)
new /obj/item/clothing/under/rank/warden/formal(src)
new /obj/item/clothing/under/rank/warden/corp(src)
new /obj/item/clothing/under/rank/warden/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer/warden(src)
new /obj/item/storage/box/zipties(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/gun/energy/gun/advtaser(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/storage/box/holobadge(src)
new /obj/item/clothing/gloves/color/black/krav_maga/sec(src)
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(ACCESS_SECURITY)
icon_state = "sec1"
icon_closed = "sec"
icon_locked = "sec1"
icon_opened = "secopen"
icon_broken = "secbroken"
icon_off = "secoff"
/obj/structure/closet/secure_closet/security/New()
..()
if(prob(50))
new /obj/item/storage/backpack/security(src)
else
new /obj/item/storage/backpack/satchel_sec(src)
new /obj/item/clothing/suit/armor/vest/security(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/head/soft/sec(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/flash(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/clothing/suit/armor/secjacket(src)
/obj/structure/closet/secure_closet/brigdoc
name = "brig physician's locker"
req_access = list(ACCESS_SECURITY)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
/obj/structure/closet/secure_closet/brigdoc/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/flash(src)
new /obj/item/storage/firstaid/regular(src)
new /obj/item/storage/firstaid/fire(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/storage/firstaid/o2(src)
new /obj/item/storage/firstaid/toxin(src)
new /obj/item/clothing/suit/storage/brigdoc(src)
new /obj/item/clothing/under/rank/security/brigphys(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/shoes/sandal/white(src)
/obj/structure/closet/secure_closet/blueshield
name = "blueshield's locker"
req_access = list(ACCESS_BLUESHIELD)
icon_state = "bssecure1"
icon_closed = "bssecure"
icon_locked = "bssecure1"
icon_opened = "bssecureopen"
icon_broken = "bssecurebroken"
icon_off = "bssecureoff"
/obj/structure/closet/secure_closet/blueshield/New()
..()
new /obj/item/storage/briefcase(src)
new /obj/item/storage/firstaid/adv(src)
new /obj/item/pinpointer/crew(src)
new /obj/item/storage/belt/security/sec(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/flash(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/read_only(src)
new /obj/item/clothing/glasses/hud/health/sunglasses
new /obj/item/clothing/head/beret/centcom/officer(src)
new /obj/item/clothing/head/beret/centcom/officer/navy(src)
new /obj/item/clothing/suit/armor/vest/blueshield(src)
new /obj/item/clothing/suit/storage/blueshield(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/accessory/holster(src)
new /obj/item/clothing/accessory/blue(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
new /obj/item/clothing/under/rank/centcom/blueshield(src)
/obj/structure/closet/secure_closet/ntrep
name = "\improper Nanotrasen Representative's locker"
req_access = list(ACCESS_NTREP)
icon_state = "ntsecure1"
icon_closed = "ntsecure"
icon_locked = "ntsecure1"
icon_opened = "ntsecureopen"
icon_broken = "ntsecurebroken"
icon_off = "ntsecureoff"
/obj/structure/closet/secure_closet/ntrep/New()
..()
new /obj/item/book/manual/faxes(src)
new /obj/item/storage/briefcase(src)
new /obj/item/paicard(src)
new /obj/item/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/gloves/color/white(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/under/lawyer/oldman(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/rank/centcom/representative(src)
new /obj/item/clothing/head/ntrep(src)
new /obj/item/clothing/shoes/sandal/fancy(src)
new /obj/item/storage/box/tapes(src)
new /obj/item/taperecorder(src)
/obj/structure/closet/secure_closet/security/cargo
/obj/structure/closet/secure_closet/security/cargo/New()
..()
new /obj/item/clothing/accessory/armband/cargo(src)
new /obj/item/encryptionkey/headset_cargo(src)
/obj/structure/closet/secure_closet/security/engine
/obj/structure/closet/secure_closet/security/engine/New()
..()
new /obj/item/clothing/accessory/armband/engine(src)
new /obj/item/encryptionkey/headset_eng(src)
/obj/structure/closet/secure_closet/security/science
/obj/structure/closet/secure_closet/security/science/New()
..()
new /obj/item/clothing/accessory/armband/science(src)
new /obj/item/encryptionkey/headset_sci(src)
/obj/structure/closet/secure_closet/security/med
/obj/structure/closet/secure_closet/security/med/New()
..()
new /obj/item/clothing/accessory/armband/medgreen(src)
new /obj/item/encryptionkey/headset_med(src)
/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"
resistance_flags = FLAMMABLE
max_integrity = 70
/obj/structure/closet/secure_closet/detective/New()
..()
new /obj/item/clothing/under/det(src)
new /obj/item/clothing/suit/storage/det_suit(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/blue(src)
new /obj/item/clothing/suit/storage/det_suit/forensics/red(src)
new /obj/item/clothing/gloves/color/black/forensics(src)
new /obj/item/clothing/head/det_hat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/storage/box/evidence(src)
new /obj/item/clipboard(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/detective_scanner(src)
new /obj/item/clothing/suit/armor/vest/det_suit(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/gun/projectile/revolver/detective(src)
new /obj/item/clothing/accessory/holster/armpit(src)
new /obj/item/clothing/glasses/sunglasses/yeah(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/accessory/black(src)
new /obj/item/taperecorder(src)
new /obj/item/storage/box/tapes(src)
/obj/structure/closet/secure_closet/detective/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(ACCESS_SECURITY)
/obj/structure/closet/secure_closet/injection/New()
..()
new /obj/item/reagent_containers/syringe/lethal(src)
new /obj/item/reagent_containers/syringe/lethal(src)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(ACCESS_BRIG)
anchored = 1
var/id = null
/obj/structure/closet/secure_closet/brig/New()
..()
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/card/id/prisoner/random(src)
new /obj/item/radio/headset(src)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(ACCESS_COURT)
/obj/structure/closet/secure_closet/courtroom/New()
..()
new /obj/item/clothing/shoes/brown(src)
new /obj/item/paper/Court (src)
new /obj/item/paper/Court (src)
new /obj/item/paper/Court (src)
new /obj/item/pen (src)
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/storage/briefcase(src)
/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"
//too small to put a man in
large = 0
/obj/structure/closet/secure_closet/wall/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/magistrate
name = "\improper Magistrate's locker"
req_access = list(ACCESS_MAGISTRATE)
icon_state = "magistratesecure1"
icon_closed = "magistratesecure"
icon_locked = "magistratesecure1"
icon_opened = "magistratesecureopen"
icon_broken = "magistratesecurebroken"
icon_off = "magistratesecureoff"
/obj/structure/closet/secure_closet/magistrate/New()
..()
new /obj/item/book/manual/faxes(src)
new /obj/item/storage/secure/briefcase(src)
new /obj/item/flash(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/gloves/color/white(src)
new /obj/item/clothing/shoes/centcom(src)
new /obj/item/clothing/under/suit_jacket/really_black(src)
new /obj/item/clothing/under/rank/centcom/magistrate(src)
new /obj/item/clothing/suit/judgerobe(src)
new /obj/item/clothing/head/powdered_wig(src)
new /obj/item/gavelblock(src)
new /obj/item/gavelhammer(src)
new /obj/item/clothing/head/justice_wig(src)
new /obj/item/clothing/accessory/medal/legal(src)
@@ -114,4 +114,4 @@
if(user)
user.dust()
dump_contents()
visible_message("<span class='warning'>[src] shatters!. </span>")
visible_message("<span class='warning'>[src] shatters!. </span>")
@@ -1,149 +1,149 @@
/obj/structure/closet/syndicate
name = "armoury closet"
desc = "Why is this here?"
icon_state = "syndicate"
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/clothing/under/syndicate(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/storage/belt/military(src)
new /obj/item/crowbar/red(src)
new /obj/item/clothing/glasses/night(src)
/obj/structure/closet/syndicate/suits
desc = "It's a storage unit for operative space gear."
/obj/structure/closet/syndicate/suits/New()
..()
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/clothing/suit/space/hardsuit/syndi(src)
new /obj/item/tank/jetpack/oxygen/harness(src)
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for a Syndicate boarding party."
/obj/structure/closet/syndicate/nuclear/New()
..()
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/storage/box/teargas(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/backpack/duffel/syndie/med(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/pda/syndicate(src)
/obj/structure/closet/syndicate/sst
desc = "It's a storage unit for an elite syndicate strike team's gear."
/obj/structure/closet/syndicate/sst/New()
..()
new /obj/item/ammo_box/magazine/mm556x45(src)
new /obj/item/gun/projectile/automatic/l6_saw(src)
new /obj/item/tank/jetpack/oxygen/harness(src)
new /obj/item/storage/belt/military/sst(src)
new /obj/item/clothing/glasses/thermal(src)
new /obj/item/clothing/shoes/magboots/syndie/advance(src)
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/clothing/suit/space/hardsuit/syndi/elite/sst(src)
/obj/structure/closet/syndicate/resources/
desc = "An old, dusty locker."
New()
..()
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
if(pickednum == 1)
var/obj/item/paper/P = new /obj/item/paper(src)
P.name = "IOU"
P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!"
//Metal (common ore)
if(pickednum >= 2)
new /obj/item/stack/sheet/metal(src, rand(common_min, common_max))
//Glass (common ore)
if(pickednum >= 5)
new /obj/item/stack/sheet/glass(src, rand(common_min, common_max))
//Plasteel (common ore) Because it has a million more uses then plasma
if(pickednum >= 10)
new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max))
//Plasma (rare ore)
if(pickednum >= 15)
new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max))
//Silver (rare ore)
if(pickednum >= 20)
new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max))
//Gold (rare ore)
if(pickednum >= 30)
new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max))
//Uranium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max))
//Titanium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/titanium(src, rand(rare_min, rare_max))
//Plastitanium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/plastitanium(src, rand(rare_min, rare_max))
//Diamond (rare HONK)
if(pickednum >= 45)
new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max))
//Jetpack (You hit the jackpot!)
if(pickednum == 50)
new /obj/item/tank/jetpack/carbondioxide(src)
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
New()
..()
var/list/resources = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/glass,
/obj/item/stack/sheet/mineral/gold,
/obj/item/stack/sheet/mineral/silver,
/obj/item/stack/sheet/mineral/plasma,
/obj/item/stack/sheet/mineral/uranium,
/obj/item/stack/sheet/mineral/diamond,
/obj/item/stack/sheet/mineral/bananium,
/obj/item/stack/sheet/mineral/titanium,
/obj/item/stack/sheet/mineral/plastitanium,
/obj/item/stack/sheet/plasteel,
/obj/item/stack/rods
)
for(var/i in 1 to 2)
for(var/res in resources)
var/obj/item/stack/R = new res(src)
R.amount = R.max_amount
/obj/structure/closet/syndicate
name = "armoury closet"
desc = "Why is this here?"
icon_state = "syndicate"
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/clothing/under/syndicate(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/storage/belt/military(src)
new /obj/item/crowbar/red(src)
new /obj/item/clothing/glasses/night(src)
/obj/structure/closet/syndicate/suits
desc = "It's a storage unit for operative space gear."
/obj/structure/closet/syndicate/suits/New()
..()
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/clothing/suit/space/hardsuit/syndi(src)
new /obj/item/tank/jetpack/oxygen/harness(src)
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for a Syndicate boarding party."
/obj/structure/closet/syndicate/nuclear/New()
..()
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/storage/box/teargas(src)
new /obj/item/storage/box/flashbangs(src)
new /obj/item/storage/backpack/duffel/syndie/med(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/gun/projectile/automatic/shotgun/bulldog(src)
new /obj/item/pda/syndicate(src)
/obj/structure/closet/syndicate/sst
desc = "It's a storage unit for an elite syndicate strike team's gear."
/obj/structure/closet/syndicate/sst/New()
..()
new /obj/item/ammo_box/magazine/mm556x45(src)
new /obj/item/gun/projectile/automatic/l6_saw(src)
new /obj/item/tank/jetpack/oxygen/harness(src)
new /obj/item/storage/belt/military/sst(src)
new /obj/item/clothing/glasses/thermal(src)
new /obj/item/clothing/shoes/magboots/syndie/advance(src)
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/clothing/suit/space/hardsuit/syndi/elite/sst(src)
/obj/structure/closet/syndicate/resources/
desc = "An old, dusty locker."
New()
..()
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
if(pickednum == 1)
var/obj/item/paper/P = new /obj/item/paper(src)
P.name = "IOU"
P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!"
//Metal (common ore)
if(pickednum >= 2)
new /obj/item/stack/sheet/metal(src, rand(common_min, common_max))
//Glass (common ore)
if(pickednum >= 5)
new /obj/item/stack/sheet/glass(src, rand(common_min, common_max))
//Plasteel (common ore) Because it has a million more uses then plasma
if(pickednum >= 10)
new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max))
//Plasma (rare ore)
if(pickednum >= 15)
new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max))
//Silver (rare ore)
if(pickednum >= 20)
new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max))
//Gold (rare ore)
if(pickednum >= 30)
new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max))
//Uranium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max))
//Titanium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/titanium(src, rand(rare_min, rare_max))
//Plastitanium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/sheet/mineral/plastitanium(src, rand(rare_min, rare_max))
//Diamond (rare HONK)
if(pickednum >= 45)
new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max))
//Jetpack (You hit the jackpot!)
if(pickednum == 50)
new /obj/item/tank/jetpack/carbondioxide(src)
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
New()
..()
var/list/resources = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/glass,
/obj/item/stack/sheet/mineral/gold,
/obj/item/stack/sheet/mineral/silver,
/obj/item/stack/sheet/mineral/plasma,
/obj/item/stack/sheet/mineral/uranium,
/obj/item/stack/sheet/mineral/diamond,
/obj/item/stack/sheet/mineral/bananium,
/obj/item/stack/sheet/mineral/titanium,
/obj/item/stack/sheet/mineral/plastitanium,
/obj/item/stack/sheet/plasteel,
/obj/item/stack/rods
)
for(var/i in 1 to 2)
for(var/res in resources)
var/obj/item/stack/R = new res(src)
R.amount = R.max_amount
@@ -1,226 +1,226 @@
/* Utility Closets
* Contains:
* Emergency Closet
* Fire Closet
* Tool Closet
* Radiation Closet
* Bombsuit Closet
* Hydrant
* First Aid
*/
/*
* Emergency Closet
*/
/obj/structure/closet/emcloset
name = "emergency closet"
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/anchored
anchored = TRUE
/obj/structure/closet/emcloset/New()
..()
switch(pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10, "nothing" = 0, "delete" = 0)))
if("small")
new /obj/item/tank/emergency_oxygen(src)
new /obj/item/tank/emergency_oxygen(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/breath(src)
if("aid")
new /obj/item/tank/emergency_oxygen(src)
new /obj/item/storage/toolbox/emergency(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/storage/firstaid/o2(src)
if("tank")
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
if("both")
new /obj/item/storage/toolbox/emergency(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/storage/firstaid/o2(src)
if("nothing")
// doot
// teehee - Ah, tg coders...
if("delete")
qdel(src)
//If you want to re-add fire, just add "fire" = 15 to the pick list.
/*if("fire")
new /obj/structure/closet/firecloset(src.loc)
qdel(src)*/
/obj/structure/closet/emcloset/legacy/New()
new /obj/item/tank/oxygen(src)
new /obj/item/clothing/mask/gas(src)
/*
* Fire Closet
*/
/obj/structure/closet/firecloset
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "firecloset"
icon_closed = "firecloset"
icon_opened = "fireclosetopen"
/obj/structure/closet/firecloset/New()
..()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/tank/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/obj/structure/closet/firecloset/full/New()
..()
contents.Cut()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/flashlight(src)
new /obj/item/tank/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/*
* Tool Closet
*/
/obj/structure/closet/toolcloset
name = "tool closet"
desc = "It's a storage unit for tools."
icon_state = "toolcloset"
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
/obj/structure/closet/toolcloset/New()
..()
if(prob(40))
new /obj/item/clothing/suit/storage/hazardvest(src)
if(prob(70))
new /obj/item/flashlight(src)
if(prob(70))
new /obj/item/screwdriver(src)
if(prob(70))
new /obj/item/wrench(src)
if(prob(70))
new /obj/item/weldingtool(src)
if(prob(70))
new /obj/item/crowbar(src)
if(prob(70))
new /obj/item/wirecutters(src)
if(prob(70))
new /obj/item/t_scanner(src)
if(prob(20))
new /obj/item/storage/belt/utility(src)
if(prob(30))
new /obj/item/stack/cable_coil/random(src)
if(prob(30))
new /obj/item/stack/cable_coil/random(src)
if(prob(30))
new /obj/item/stack/cable_coil/random(src)
if(prob(20))
new /obj/item/multitool(src)
if(prob(5))
new /obj/item/clothing/gloves/color/yellow(src)
if(prob(40))
new /obj/item/clothing/head/hardhat(src)
/*
* Radiation Closet
*/
/obj/structure/closet/radiation
name = "radiation suit closet"
desc = "It's a storage unit for rad-protective suits."
icon_state = "radsuitcloset"
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)
/*
* Bombsuit closet
*/
/obj/structure/closet/bombcloset
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bombsuit"
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 )
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bombsuitsec"
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 )
/*
* Hydrant
*/
/obj/structure/closet/hydrant //wall mounted fire closet
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "hydrant"
icon_closed = "hydrant"
icon_opened = "hydrant_open"
anchored = 1
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/flashlight(src)
new /obj/item/tank/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/*
* First Aid
*/
/obj/structure/closet/medical_wall //wall mounted medical closet
name = "first-aid closet"
desc = "It's wall-mounted storage unit for first aid supplies."
icon_state = "medical_wall"
icon_closed = "medical_wall"
icon_opened = "medical_wall_open"
anchored = 1
density = 0
wall_mounted = 1
/obj/structure/closet/medical_wall/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/* Utility Closets
* Contains:
* Emergency Closet
* Fire Closet
* Tool Closet
* Radiation Closet
* Bombsuit Closet
* Hydrant
* First Aid
*/
/*
* Emergency Closet
*/
/obj/structure/closet/emcloset
name = "emergency closet"
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/anchored
anchored = TRUE
/obj/structure/closet/emcloset/New()
..()
switch(pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10, "nothing" = 0, "delete" = 0)))
if("small")
new /obj/item/tank/emergency_oxygen(src)
new /obj/item/tank/emergency_oxygen(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/breath(src)
if("aid")
new /obj/item/tank/emergency_oxygen(src)
new /obj/item/storage/toolbox/emergency(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/storage/firstaid/o2(src)
if("tank")
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
if("both")
new /obj/item/storage/toolbox/emergency(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/storage/firstaid/o2(src)
if("nothing")
// doot
// teehee - Ah, tg coders...
if("delete")
qdel(src)
//If you want to re-add fire, just add "fire" = 15 to the pick list.
/*if("fire")
new /obj/structure/closet/firecloset(src.loc)
qdel(src)*/
/obj/structure/closet/emcloset/legacy/New()
new /obj/item/tank/oxygen(src)
new /obj/item/clothing/mask/gas(src)
/*
* Fire Closet
*/
/obj/structure/closet/firecloset
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "firecloset"
icon_closed = "firecloset"
icon_opened = "fireclosetopen"
/obj/structure/closet/firecloset/New()
..()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/tank/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/obj/structure/closet/firecloset/full/New()
..()
contents.Cut()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/flashlight(src)
new /obj/item/tank/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/*
* Tool Closet
*/
/obj/structure/closet/toolcloset
name = "tool closet"
desc = "It's a storage unit for tools."
icon_state = "toolcloset"
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
/obj/structure/closet/toolcloset/New()
..()
if(prob(40))
new /obj/item/clothing/suit/storage/hazardvest(src)
if(prob(70))
new /obj/item/flashlight(src)
if(prob(70))
new /obj/item/screwdriver(src)
if(prob(70))
new /obj/item/wrench(src)
if(prob(70))
new /obj/item/weldingtool(src)
if(prob(70))
new /obj/item/crowbar(src)
if(prob(70))
new /obj/item/wirecutters(src)
if(prob(70))
new /obj/item/t_scanner(src)
if(prob(20))
new /obj/item/storage/belt/utility(src)
if(prob(30))
new /obj/item/stack/cable_coil/random(src)
if(prob(30))
new /obj/item/stack/cable_coil/random(src)
if(prob(30))
new /obj/item/stack/cable_coil/random(src)
if(prob(20))
new /obj/item/multitool(src)
if(prob(5))
new /obj/item/clothing/gloves/color/yellow(src)
if(prob(40))
new /obj/item/clothing/head/hardhat(src)
/*
* Radiation Closet
*/
/obj/structure/closet/radiation
name = "radiation suit closet"
desc = "It's a storage unit for rad-protective suits."
icon_state = "radsuitcloset"
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)
/*
* Bombsuit closet
*/
/obj/structure/closet/bombcloset
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bombsuit"
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 )
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bombsuitsec"
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 )
/*
* Hydrant
*/
/obj/structure/closet/hydrant //wall mounted fire closet
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "hydrant"
icon_closed = "hydrant"
icon_opened = "hydrant_open"
anchored = 1
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/flashlight(src)
new /obj/item/tank/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/*
* First Aid
*/
/obj/structure/closet/medical_wall //wall mounted medical closet
name = "first-aid closet"
desc = "It's wall-mounted storage unit for first aid supplies."
icon_state = "medical_wall"
icon_closed = "medical_wall"
icon_opened = "medical_wall_open"
anchored = 1
density = 0
wall_mounted = 1
/obj/structure/closet/medical_wall/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
@@ -1,481 +1,481 @@
/obj/structure/closet/wardrobe
name = "wardrobe"
desc = "It's a storage unit for standard-issue Nanotrasen attire."
icon_state = "blue"
icon_closed = "blue"
/obj/structure/closet/wardrobe/generic
// Identical to the base wardrobe, aside from containing some stuff.
/obj/structure/closet/wardrobe/generic/New()
..()
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/mask/bandana/blue(src)
new /obj/item/clothing/mask/bandana/blue(src)
new /obj/item/clothing/mask/bandana/blue(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/brown(src)
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
icon_state = "red"
icon_closed = "red"
/obj/structure/closet/wardrobe/red/New()
..()
new /obj/item/storage/backpack/duffel/security(src)
new /obj/item/storage/backpack/duffel/security(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/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/security/formal(src)
new /obj/item/clothing/under/rank/security/formal(src)
new /obj/item/clothing/under/rank/security/formal(src)
new /obj/item/clothing/under/rank/security/skirt(src)
new /obj/item/clothing/under/rank/security/skirt(src)
new /obj/item/clothing/under/rank/security/skirt(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(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/officer(src)
new /obj/item/clothing/head/officer(src)
new /obj/item/clothing/head/officer(src)
/obj/structure/closet/redcorp
name = "corporate security wardrobe"
icon_state = "red"
icon_closed = "red"
/obj/structure/closet/redcorp/New()
..()
new /obj/item/clothing/under/rank/security/corp(src)
new /obj/item/clothing/under/rank/security/corp(src)
new /obj/item/clothing/under/rank/security/corp(src)
new /obj/item/clothing/head/soft/sec/corp(src)
new /obj/item/clothing/head/soft/sec/corp(src)
new /obj/item/clothing/head/soft/sec/corp(src)
/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)
/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)
if(prob(25))
new /obj/item/clothing/suit/jacket/leather(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)
/obj/structure/closet/wardrobe/green
name = "green wardrobe"
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/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
/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/sandal(src)
new /obj/item/clothing/shoes/footwraps(src)
new /obj/item/clothing/shoes/footwraps(src)
new /obj/item/clothing/shoes/footwraps(src)
/obj/structure/closet/wardrobe/orange
name = "prison wardrobe"
desc = "It's a storage unit for Nanotrasen-regulation prisoner attire."
icon_state = "orange"
icon_closed = "orange"
/obj/structure/closet/wardrobe/orange/New()
..()
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/orange(src)
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
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/orange(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/orange(src)
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
icon_state = "atmostech"
icon_closed = "atmostech"
/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/workboots(src)
new /obj/item/clothing/shoes/workboots(src)
new /obj/item/clothing/shoes/workboots(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/atmos(src)
new /obj/item/clothing/head/beret/atmos(src)
new /obj/item/clothing/head/beret/atmos(src)
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
icon_state = "engineer"
icon_closed = "engineer"
/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/workboots(src)
new /obj/item/clothing/shoes/workboots(src)
new /obj/item/clothing/shoes/workboots(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/eng(src)
new /obj/item/clothing/head/beret/eng(src)
new /obj/item/clothing/head/beret/eng(src)
/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)
/obj/structure/closet/wardrobe/medical_white
name = "medical doctor's wardrobe"
icon_state = "white"
icon_closed = "white"
/obj/structure/closet/wardrobe/medical_white/New()
..()
new /obj/item/clothing/under/rank/nursesuit (src)
new /obj/item/clothing/head/nursehat (src)
new /obj/item/clothing/under/rank/nurse(src)
new /obj/item/clothing/under/rank/orderly(src)
new /obj/item/clothing/suit/storage/fr_jacket(src)
new /obj/item/clothing/suit/storage/fr_jacket(src)
new /obj/item/clothing/suit/storage/fr_jacket(src)
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/under/rank/medical/skirt(src)
new /obj/item/clothing/under/rank/medical/skirt(src)
new /obj/item/clothing/head/surgery/purple(src)
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)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
/obj/structure/closet/wardrobe/pjs
name = "Pajama wardrobe"
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)
/obj/structure/closet/wardrobe/toxins_white
name = "toxins wardrobe"
icon_state = "white"
icon_closed = "white"
/obj/structure/closet/wardrobe/toxins_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/under/rank/scientist/skirt(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/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
new /obj/item/clothing/shoes/slippers
new /obj/item/clothing/shoes/slippers
/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/under/rank/roboticist/skirt(src)
new /obj/item/clothing/under/rank/roboticist/skirt(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/head/soft/black(src)
/obj/structure/closet/wardrobe/chemistry_white
name = "chemistry wardrobe"
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/labcoat/chemist(src)
new /obj/item/clothing/suit/storage/labcoat/chemist(src)
new /obj/item/storage/backpack/chemistry(src)
new /obj/item/storage/backpack/chemistry(src)
new /obj/item/storage/backpack/satchel_chem(src)
new /obj/item/storage/backpack/satchel_chem(src)
new /obj/item/storage/bag/chemistry(src)
new /obj/item/storage/bag/chemistry(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/mask/gas(src)
/obj/structure/closet/wardrobe/genetics_white
name = "genetics wardrobe"
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/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
new /obj/item/storage/backpack/genetics(src)
new /obj/item/storage/backpack/genetics(src)
new /obj/item/storage/backpack/satchel_gen(src)
new /obj/item/storage/backpack/satchel_gen(src)
/obj/structure/closet/wardrobe/virology_white
name = "virology wardrobe"
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/labcoat/virologist(src)
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/storage/backpack/virology(src)
new /obj/item/storage/backpack/virology(src)
new /obj/item/storage/backpack/satchel_vir(src)
new /obj/item/storage/backpack/satchel_vir(src)
/obj/structure/closet/wardrobe/medic_white
name = "medical wardrobe"
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/blue(src)
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
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)
new /obj/item/clothing/head/headmirror(src)
new /obj/item/clothing/head/headmirror(src)
/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)
if(prob(50))
new /obj/item/storage/backpack/duffel(src)
if(prob(40))
new /obj/item/clothing/under/assistantformal(src)
if(prob(40))
new /obj/item/clothing/under/assistantformal(src)
/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/orange(src)
new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/dress/plaid_blue(src)
new /obj/item/clothing/under/dress/plaid_red(src)
new /obj/item/clothing/under/dress/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/orange(src)
new /obj/item/clothing/shoes/purple(src)
new /obj/item/clothing/shoes/leather(src)
/obj/structure/closet/wardrobe/coroner
name = "coroner wardrobe"
icon_state = "black"
icon_closed = "black"
/obj/structure/closet/wardrobe/coroner/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/storage/backpack/duffel/medical(src)
new /obj/item/clothing/suit/storage/labcoat/mortician(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/under/rank/medical/mortician(src)
new /obj/item/clothing/head/surgery/black(src)
/obj/structure/closet/wardrobe
name = "wardrobe"
desc = "It's a storage unit for standard-issue Nanotrasen attire."
icon_state = "blue"
icon_closed = "blue"
/obj/structure/closet/wardrobe/generic
// Identical to the base wardrobe, aside from containing some stuff.
/obj/structure/closet/wardrobe/generic/New()
..()
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/mask/bandana/blue(src)
new /obj/item/clothing/mask/bandana/blue(src)
new /obj/item/clothing/mask/bandana/blue(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/shoes/brown(src)
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
icon_state = "red"
icon_closed = "red"
/obj/structure/closet/wardrobe/red/New()
..()
new /obj/item/storage/backpack/duffel/security(src)
new /obj/item/storage/backpack/duffel/security(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/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/security/formal(src)
new /obj/item/clothing/under/rank/security/formal(src)
new /obj/item/clothing/under/rank/security/formal(src)
new /obj/item/clothing/under/rank/security/skirt(src)
new /obj/item/clothing/under/rank/security/skirt(src)
new /obj/item/clothing/under/rank/security/skirt(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(src)
new /obj/item/clothing/shoes/jackboots/jacksandals(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/officer(src)
new /obj/item/clothing/head/officer(src)
new /obj/item/clothing/head/officer(src)
/obj/structure/closet/redcorp
name = "corporate security wardrobe"
icon_state = "red"
icon_closed = "red"
/obj/structure/closet/redcorp/New()
..()
new /obj/item/clothing/under/rank/security/corp(src)
new /obj/item/clothing/under/rank/security/corp(src)
new /obj/item/clothing/under/rank/security/corp(src)
new /obj/item/clothing/head/soft/sec/corp(src)
new /obj/item/clothing/head/soft/sec/corp(src)
new /obj/item/clothing/head/soft/sec/corp(src)
/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)
/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)
if(prob(25))
new /obj/item/clothing/suit/jacket/leather(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)
/obj/structure/closet/wardrobe/green
name = "green wardrobe"
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/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
/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/sandal(src)
new /obj/item/clothing/shoes/footwraps(src)
new /obj/item/clothing/shoes/footwraps(src)
new /obj/item/clothing/shoes/footwraps(src)
/obj/structure/closet/wardrobe/orange
name = "prison wardrobe"
desc = "It's a storage unit for Nanotrasen-regulation prisoner attire."
icon_state = "orange"
icon_closed = "orange"
/obj/structure/closet/wardrobe/orange/New()
..()
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/under/color/orange/prison(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/orange(src)
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
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/orange(src)
new /obj/item/clothing/shoes/orange(src)
new /obj/item/clothing/shoes/orange(src)
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
icon_state = "atmostech"
icon_closed = "atmostech"
/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/workboots(src)
new /obj/item/clothing/shoes/workboots(src)
new /obj/item/clothing/shoes/workboots(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/atmos(src)
new /obj/item/clothing/head/beret/atmos(src)
new /obj/item/clothing/head/beret/atmos(src)
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
icon_state = "engineer"
icon_closed = "engineer"
/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/workboots(src)
new /obj/item/clothing/shoes/workboots(src)
new /obj/item/clothing/shoes/workboots(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/eng(src)
new /obj/item/clothing/head/beret/eng(src)
new /obj/item/clothing/head/beret/eng(src)
/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)
/obj/structure/closet/wardrobe/medical_white
name = "medical doctor's wardrobe"
icon_state = "white"
icon_closed = "white"
/obj/structure/closet/wardrobe/medical_white/New()
..()
new /obj/item/clothing/under/rank/nursesuit (src)
new /obj/item/clothing/head/nursehat (src)
new /obj/item/clothing/under/rank/nurse(src)
new /obj/item/clothing/under/rank/orderly(src)
new /obj/item/clothing/suit/storage/fr_jacket(src)
new /obj/item/clothing/suit/storage/fr_jacket(src)
new /obj/item/clothing/suit/storage/fr_jacket(src)
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/under/rank/medical/skirt(src)
new /obj/item/clothing/under/rank/medical/skirt(src)
new /obj/item/clothing/head/surgery/purple(src)
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)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
/obj/structure/closet/wardrobe/pjs
name = "Pajama wardrobe"
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)
/obj/structure/closet/wardrobe/toxins_white
name = "toxins wardrobe"
icon_state = "white"
icon_closed = "white"
/obj/structure/closet/wardrobe/toxins_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/under/rank/scientist/skirt(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/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
new /obj/item/clothing/shoes/slippers
new /obj/item/clothing/shoes/slippers
/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/under/rank/roboticist/skirt(src)
new /obj/item/clothing/under/rank/roboticist/skirt(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft/black(src)
new /obj/item/clothing/head/soft/black(src)
/obj/structure/closet/wardrobe/chemistry_white
name = "chemistry wardrobe"
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/labcoat/chemist(src)
new /obj/item/clothing/suit/storage/labcoat/chemist(src)
new /obj/item/storage/backpack/chemistry(src)
new /obj/item/storage/backpack/chemistry(src)
new /obj/item/storage/backpack/satchel_chem(src)
new /obj/item/storage/backpack/satchel_chem(src)
new /obj/item/storage/bag/chemistry(src)
new /obj/item/storage/bag/chemistry(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/mask/gas(src)
/obj/structure/closet/wardrobe/genetics_white
name = "genetics wardrobe"
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/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
new /obj/item/storage/backpack/genetics(src)
new /obj/item/storage/backpack/genetics(src)
new /obj/item/storage/backpack/satchel_gen(src)
new /obj/item/storage/backpack/satchel_gen(src)
/obj/structure/closet/wardrobe/virology_white
name = "virology wardrobe"
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/labcoat/virologist(src)
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/storage/backpack/virology(src)
new /obj/item/storage/backpack/virology(src)
new /obj/item/storage/backpack/satchel_vir(src)
new /obj/item/storage/backpack/satchel_vir(src)
/obj/structure/closet/wardrobe/medic_white
name = "medical wardrobe"
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/blue(src)
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/suit/storage/labcoat(src)
new /obj/item/clothing/mask/surgical(src)
new /obj/item/clothing/mask/surgical(src)
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)
new /obj/item/clothing/head/headmirror(src)
new /obj/item/clothing/head/headmirror(src)
/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)
if(prob(50))
new /obj/item/storage/backpack/duffel(src)
if(prob(40))
new /obj/item/clothing/under/assistantformal(src)
if(prob(40))
new /obj/item/clothing/under/assistantformal(src)
/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/orange(src)
new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/dress/plaid_blue(src)
new /obj/item/clothing/under/dress/plaid_red(src)
new /obj/item/clothing/under/dress/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/orange(src)
new /obj/item/clothing/shoes/purple(src)
new /obj/item/clothing/shoes/leather(src)
/obj/structure/closet/wardrobe/coroner
name = "coroner wardrobe"
icon_state = "black"
icon_closed = "black"
/obj/structure/closet/wardrobe/coroner/New()
..()
if(prob(50))
new /obj/item/storage/backpack/medic(src)
else
new /obj/item/storage/backpack/satchel_med(src)
new /obj/item/storage/backpack/duffel/medical(src)
new /obj/item/clothing/suit/storage/labcoat/mortician(src)
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/under/rank/medical/mortician(src)
new /obj/item/clothing/head/surgery/black(src)
File diff suppressed because it is too large Load Diff
@@ -88,4 +88,4 @@
/obj/structure/closet/critter/deer
name = "deer crate"
content_mob = /mob/living/simple_animal/deer
content_mob = /mob/living/simple_animal/deer
@@ -1,99 +1,99 @@
/obj/structure/largecrate
name = "large crate"
desc = "A hefty wooden crate."
icon = 'icons/obj/crates.dmi'
icon_state = "largecrate"
density = 1
var/obj/item/paper/manifest/manifest
/obj/structure/largecrate/New()
..()
update_icon()
/obj/structure/largecrate/update_icon()
..()
overlays.Cut()
if(manifest)
overlays += "manifest"
/obj/structure/largecrate/attack_hand(mob/user as mob)
if(manifest)
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
manifest.forceMove(loc)
if(ishuman(user))
user.put_in_hands(manifest)
manifest = null
update_icon()
return
else
to_chat(user, "<span class='notice'>You need a crowbar to pry this open!</span>")
return
/obj/structure/largecrate/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
if(manifest)
manifest.forceMove(loc)
manifest = null
update_icon()
new /obj/item/stack/sheet/wood(src)
var/turf/T = get_turf(src)
for(var/O in contents)
var/atom/movable/A = O
A.forceMove(T)
user.visible_message("<span class='notice'>[user] pries \the [src] open.</span>", \
"<span class='notice'>You pry open \the [src].</span>", \
"<span class='notice'>You hear splitting wood.</span>")
qdel(src)
else if(user.a_intent != INTENT_HARM)
attack_hand(user)
else
return ..()
/obj/structure/largecrate/mule
/obj/structure/largecrate/lisa
icon_state = "lisacrate"
/obj/structure/largecrate/lisa/attackby(obj/item/W as obj, mob/user as mob) //ugly but oh well
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/pet/dog/corgi/Lisa(loc)
return ..()
/obj/structure/largecrate/cow
name = "cow crate"
icon_state = "lisacrate"
/obj/structure/largecrate/cow/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/cow(loc)
return ..()
/obj/structure/largecrate/goat
name = "goat crate"
icon_state = "lisacrate"
/obj/structure/largecrate/goat/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/hostile/retaliate/goat(loc)
return ..()
/obj/structure/largecrate/chick
name = "chicken crate"
icon_state = "lisacrate"
/obj/structure/largecrate/chick/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
var/num = rand(4, 6)
for(var/i = 0, i < num, i++)
new /mob/living/simple_animal/chick(loc)
return ..()
/obj/structure/largecrate/cat
name = "cat crate"
icon_state = "lisacrate"
/obj/structure/largecrate/cat/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/pet/cat(loc)
return ..()
/obj/structure/largecrate
name = "large crate"
desc = "A hefty wooden crate."
icon = 'icons/obj/crates.dmi'
icon_state = "largecrate"
density = 1
var/obj/item/paper/manifest/manifest
/obj/structure/largecrate/New()
..()
update_icon()
/obj/structure/largecrate/update_icon()
..()
overlays.Cut()
if(manifest)
overlays += "manifest"
/obj/structure/largecrate/attack_hand(mob/user as mob)
if(manifest)
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
manifest.forceMove(loc)
if(ishuman(user))
user.put_in_hands(manifest)
manifest = null
update_icon()
return
else
to_chat(user, "<span class='notice'>You need a crowbar to pry this open!</span>")
return
/obj/structure/largecrate/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
if(manifest)
manifest.forceMove(loc)
manifest = null
update_icon()
new /obj/item/stack/sheet/wood(src)
var/turf/T = get_turf(src)
for(var/O in contents)
var/atom/movable/A = O
A.forceMove(T)
user.visible_message("<span class='notice'>[user] pries \the [src] open.</span>", \
"<span class='notice'>You pry open \the [src].</span>", \
"<span class='notice'>You hear splitting wood.</span>")
qdel(src)
else if(user.a_intent != INTENT_HARM)
attack_hand(user)
else
return ..()
/obj/structure/largecrate/mule
/obj/structure/largecrate/lisa
icon_state = "lisacrate"
/obj/structure/largecrate/lisa/attackby(obj/item/W as obj, mob/user as mob) //ugly but oh well
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/pet/dog/corgi/Lisa(loc)
return ..()
/obj/structure/largecrate/cow
name = "cow crate"
icon_state = "lisacrate"
/obj/structure/largecrate/cow/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/cow(loc)
return ..()
/obj/structure/largecrate/goat
name = "goat crate"
icon_state = "lisacrate"
/obj/structure/largecrate/goat/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/hostile/retaliate/goat(loc)
return ..()
/obj/structure/largecrate/chick
name = "chicken crate"
icon_state = "lisacrate"
/obj/structure/largecrate/chick/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
var/num = rand(4, 6)
for(var/i = 0, i < num, i++)
new /mob/living/simple_animal/chick(loc)
return ..()
/obj/structure/largecrate/cat
name = "cat crate"
icon_state = "lisacrate"
/obj/structure/largecrate/cat/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
new /mob/living/simple_animal/pet/cat(loc)
return ..()