mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
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:
@@ -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 ..()
|
||||
|
||||
Reference in New Issue
Block a user