Whitespace Standardization [MDB IGNORE] (#15748)

* Update settings

* Whitespace changes

* Comment out merger hooks in gitattributes

Corrupt maps would have to be resolved in repo before hooks could be updated

* Revert "Whitespace changes"

This reverts commit afbdd1d844.

* Whitespace again minus example

* Gitignore example changelog

* Restore changelog merge setting

* Keep older dmi hook attribute until hooks can be updated

* update vscode settings too

* Renormalize remaining

* Revert "Gitignore example changelog"

This reverts commit de22ad375d.

* Attempt to normalize example.yml (and another file I guess)

* Try again
This commit is contained in:
Drathek
2024-02-20 11:28:51 +01:00
committed by GitHub
parent 3b61f677b3
commit 7c8bb85de3
1175 changed files with 818171 additions and 818145 deletions
@@ -1,164 +1,164 @@
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon = 'icons/obj/closets/coffin.dmi'
icon_state = "closed_unlocked"
seal_tool = /obj/item/weapon/tool/screwdriver
breakout_sound = 'sound/weapons/tablehit1.ogg'
closet_appearance = null // Special icon for us
/* Graves */
/obj/structure/closet/grave
name = "grave"
desc = "Dirt."
icon = 'icons/obj/closets/grave.dmi'
icon_state = "closed_unlocked"
seal_tool = null
breakout_sound = 'sound/weapons/thudswoosh.ogg'
anchored = TRUE
max_closets = 1
opened = 1
closet_appearance = null // Special icon for us
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
/obj/structure/closet/grave/attack_hand(mob/user as mob)
if(opened)
visible_message("<span class='notice'>[user] starts to climb into \the [src.name].</span>", \
"<span class='notice'>You start to lower yourself into \the [src.name].</span>")
if(do_after(user, 50))
user.forceMove(src.loc)
visible_message("<span class='notice'>[user] climbs into \the [src.name].</span>", \
"<span class='notice'>You climb into \the [src.name].</span>")
else
visible_message("<span class='notice'>[user] decides not to climb into \the [src.name].</span>", \
"<span class='notice'>You stop climbing into \the [src.name].</span>")
return
/obj/structure/closet/grave/CanPass(atom/movable/mover, turf/target)
if(opened && ismob(mover))
var/mob/M = mover
add_fingerprint(M)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.m_intent == "walk")
to_chat(H, "<span class='warning'>You stop at the edge of \the [src.name].</span>")
return FALSE
else
to_chat(H, "<span class='warning'>You fall into \the [src.name]!</span>")
fall_in(H)
return TRUE
if(isrobot(M))
var/mob/living/silicon/robot/R = M
if(R.a_intent == I_HELP)
to_chat(R, "<span class='warning'>You stop at the edge of \the [src.name].</span>")
return FALSE
else
to_chat(R, "<span class='warning'>You enter \the [src.name].</span>")
return TRUE
return TRUE //Everything else can move over the graves
/obj/structure/closet/grave/proc/fall_in(mob/living/L) //Only called on humans for now, but still
L.Weaken(5)
if(ishuman(L))
var/mob/living/carbon/human/H = L
var/limb_damage = rand(5,25)
H.adjustBruteLoss(limb_damage)
/obj/structure/closet/grave/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(src.opened)
if(istype(W, /obj/item/weapon/shovel))
user.visible_message("<span class='notice'>[user] piles dirt into \the [src.name].</span>", \
"<span class='notice'>You start to pile dirt into \the [src.name].</span>", \
"<span class='notice'>You hear dirt being moved.</span>")
if(do_after(user, 40 * W.toolspeed))
user.visible_message("<span class='notice'>[user] pats down the dirt on top of \the [src.name].</span>", \
"<span class='notice'>You finish filling in \the [src.name].</span>")
close()
return
else
user.visible_message("<span class='notice'>[user] stops filling in \the [src.name].</span>", \
"<span class='notice'>You change your mind and stop filling in \the [src.name].</span>")
return
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
return 0
if(istype(W,/obj/item/tk_grab))
return 0
if(istype(W, /obj/item/weapon/storage/laundry_basket) && W.contents.len)
var/obj/item/weapon/storage/laundry_basket/LB = W
var/turf/T = get_turf(src)
for(var/obj/item/I in LB.contents)
LB.remove_from_storage(I, T)
user.visible_message("<span class='notice'>[user] empties \the [LB] into \the [src].</span>", \
"<span class='notice'>You empty \the [LB] into \the [src].</span>", \
"<span class='notice'>You hear rustling of clothes.</span>")
return
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
usr.drop_item()
if(W)
W.forceMove(src.loc)
else
if(istype(W, /obj/item/weapon/shovel))
if(user.a_intent == I_HURT) // Hurt intent means you're trying to kill someone, or just get rid of the grave
user.visible_message("<span class='notice'>[user] begins to smoothe out the dirt of \the [src.name].</span>", \
"<span class='notice'>You start to smoothe out the dirt of \the [src.name].</span>", \
"<span class='notice'>You hear dirt being moved.</span>")
if(do_after(user, 40 * W.toolspeed))
user.visible_message("<span class='notice'>[user] finishes smoothing out \the [src.name].</span>", \
"<span class='notice'>You finish smoothing out \the [src.name].</span>")
if(LAZYLEN(contents))
alpha = 40 // If we've got stuff inside, like maybe a person, just make it hard to see us
else
qdel(src) // Else, go away
return
else
user.visible_message("<span class='notice'>[user] stops concealing \the [src.name].</span>", \
"<span class='notice'>You stop concealing \the [src.name].</span>")
return
else
user.visible_message("<span class='notice'>[user] begins to unearth \the [src.name].</span>", \
"<span class='notice'>You start to unearth \the [src.name].</span>", \
"<span class='notice'>You hear dirt being moved.</span>")
if(do_after(user, 40 * W.toolspeed))
user.visible_message("<span class='notice'>[user] reaches the bottom of \the [src.name].</span>", \
"<span class='notice'>You finish digging out \the [src.name].</span>")
break_open()
return
else
user.visible_message("<span class='notice'>[user] stops digging out \the [src.name].</span>", \
"<span class='notice'>You stop digging out \the [src.name].</span>")
return
return
/obj/structure/closet/grave/close()
..()
if(!opened)
sealed = TRUE
/obj/structure/closet/grave/open()
.=..()
alpha = 255 // Needed because of grave hiding
/obj/structure/closet/grave/bullet_act(var/obj/item/projectile/P)
return PROJECTILE_CONTINUE // It's a hole in the ground, doesn't usually stop or even care about bullets
/obj/structure/closet/grave/return_air_for_internal_lifeform(var/mob/living/L)
var/gasid = "carbon_dioxide"
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.species && H.species.exhale_type)
gasid = H.species.exhale_type
var/datum/gas_mixture/grave_breath = new()
var/datum/gas_mixture/above_air = return_air()
grave_breath.adjust_gas(gasid, BREATH_MOLES)
grave_breath.temperature = (above_air.temperature) - 30 //Underground
return grave_breath
/obj/structure/closet/grave/dirthole
name = "hole"
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon = 'icons/obj/closets/coffin.dmi'
icon_state = "closed_unlocked"
seal_tool = /obj/item/weapon/tool/screwdriver
breakout_sound = 'sound/weapons/tablehit1.ogg'
closet_appearance = null // Special icon for us
/* Graves */
/obj/structure/closet/grave
name = "grave"
desc = "Dirt."
icon = 'icons/obj/closets/grave.dmi'
icon_state = "closed_unlocked"
seal_tool = null
breakout_sound = 'sound/weapons/thudswoosh.ogg'
anchored = TRUE
max_closets = 1
opened = 1
closet_appearance = null // Special icon for us
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
/obj/structure/closet/grave/attack_hand(mob/user as mob)
if(opened)
visible_message("<span class='notice'>[user] starts to climb into \the [src.name].</span>", \
"<span class='notice'>You start to lower yourself into \the [src.name].</span>")
if(do_after(user, 50))
user.forceMove(src.loc)
visible_message("<span class='notice'>[user] climbs into \the [src.name].</span>", \
"<span class='notice'>You climb into \the [src.name].</span>")
else
visible_message("<span class='notice'>[user] decides not to climb into \the [src.name].</span>", \
"<span class='notice'>You stop climbing into \the [src.name].</span>")
return
/obj/structure/closet/grave/CanPass(atom/movable/mover, turf/target)
if(opened && ismob(mover))
var/mob/M = mover
add_fingerprint(M)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.m_intent == "walk")
to_chat(H, "<span class='warning'>You stop at the edge of \the [src.name].</span>")
return FALSE
else
to_chat(H, "<span class='warning'>You fall into \the [src.name]!</span>")
fall_in(H)
return TRUE
if(isrobot(M))
var/mob/living/silicon/robot/R = M
if(R.a_intent == I_HELP)
to_chat(R, "<span class='warning'>You stop at the edge of \the [src.name].</span>")
return FALSE
else
to_chat(R, "<span class='warning'>You enter \the [src.name].</span>")
return TRUE
return TRUE //Everything else can move over the graves
/obj/structure/closet/grave/proc/fall_in(mob/living/L) //Only called on humans for now, but still
L.Weaken(5)
if(ishuman(L))
var/mob/living/carbon/human/H = L
var/limb_damage = rand(5,25)
H.adjustBruteLoss(limb_damage)
/obj/structure/closet/grave/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(src.opened)
if(istype(W, /obj/item/weapon/shovel))
user.visible_message("<span class='notice'>[user] piles dirt into \the [src.name].</span>", \
"<span class='notice'>You start to pile dirt into \the [src.name].</span>", \
"<span class='notice'>You hear dirt being moved.</span>")
if(do_after(user, 40 * W.toolspeed))
user.visible_message("<span class='notice'>[user] pats down the dirt on top of \the [src.name].</span>", \
"<span class='notice'>You finish filling in \the [src.name].</span>")
close()
return
else
user.visible_message("<span class='notice'>[user] stops filling in \the [src.name].</span>", \
"<span class='notice'>You change your mind and stop filling in \the [src.name].</span>")
return
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
return 0
if(istype(W,/obj/item/tk_grab))
return 0
if(istype(W, /obj/item/weapon/storage/laundry_basket) && W.contents.len)
var/obj/item/weapon/storage/laundry_basket/LB = W
var/turf/T = get_turf(src)
for(var/obj/item/I in LB.contents)
LB.remove_from_storage(I, T)
user.visible_message("<span class='notice'>[user] empties \the [LB] into \the [src].</span>", \
"<span class='notice'>You empty \the [LB] into \the [src].</span>", \
"<span class='notice'>You hear rustling of clothes.</span>")
return
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
usr.drop_item()
if(W)
W.forceMove(src.loc)
else
if(istype(W, /obj/item/weapon/shovel))
if(user.a_intent == I_HURT) // Hurt intent means you're trying to kill someone, or just get rid of the grave
user.visible_message("<span class='notice'>[user] begins to smoothe out the dirt of \the [src.name].</span>", \
"<span class='notice'>You start to smoothe out the dirt of \the [src.name].</span>", \
"<span class='notice'>You hear dirt being moved.</span>")
if(do_after(user, 40 * W.toolspeed))
user.visible_message("<span class='notice'>[user] finishes smoothing out \the [src.name].</span>", \
"<span class='notice'>You finish smoothing out \the [src.name].</span>")
if(LAZYLEN(contents))
alpha = 40 // If we've got stuff inside, like maybe a person, just make it hard to see us
else
qdel(src) // Else, go away
return
else
user.visible_message("<span class='notice'>[user] stops concealing \the [src.name].</span>", \
"<span class='notice'>You stop concealing \the [src.name].</span>")
return
else
user.visible_message("<span class='notice'>[user] begins to unearth \the [src.name].</span>", \
"<span class='notice'>You start to unearth \the [src.name].</span>", \
"<span class='notice'>You hear dirt being moved.</span>")
if(do_after(user, 40 * W.toolspeed))
user.visible_message("<span class='notice'>[user] reaches the bottom of \the [src.name].</span>", \
"<span class='notice'>You finish digging out \the [src.name].</span>")
break_open()
return
else
user.visible_message("<span class='notice'>[user] stops digging out \the [src.name].</span>", \
"<span class='notice'>You stop digging out \the [src.name].</span>")
return
return
/obj/structure/closet/grave/close()
..()
if(!opened)
sealed = TRUE
/obj/structure/closet/grave/open()
.=..()
alpha = 255 // Needed because of grave hiding
/obj/structure/closet/grave/bullet_act(var/obj/item/projectile/P)
return PROJECTILE_CONTINUE // It's a hole in the ground, doesn't usually stop or even care about bullets
/obj/structure/closet/grave/return_air_for_internal_lifeform(var/mob/living/L)
var/gasid = "carbon_dioxide"
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.species && H.species.exhale_type)
gasid = H.species.exhale_type
var/datum/gas_mixture/grave_breath = new()
var/datum/gas_mixture/above_air = return_air()
grave_breath.adjust_gas(gasid, BREATH_MOLES)
grave_breath.temperature = (above_air.temperature) - 30 //Underground
return grave_breath
/obj/structure/closet/grave/dirthole
name = "hole"
@@ -1,4 +1,4 @@
/obj/structure/closet/crate/critter
name = "critter crate"
desc = "A crate which can sustain life for a while."
closet_appearance = /decl/closet_appearance/large_crate/critter
/obj/structure/closet/crate/critter
name = "critter crate"
desc = "A crate which can sustain life for a while."
closet_appearance = /decl/closet_appearance/large_crate/critter
@@ -1,120 +1,120 @@
/obj/structure/closet/athletic_mixed
name = "athletic wardrobe"
desc = "It's a storage unit for athletic wear."
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/under/shorts/grey,
/obj/item/clothing/under/shorts/black,
/obj/item/clothing/under/shorts/red,
/obj/item/clothing/under/shorts/blue,
/obj/item/clothing/under/shorts/green,
/obj/item/clothing/under/shorts/white,
/obj/item/clothing/suit/storage/toggle/track,
/obj/item/clothing/suit/storage/toggle/track/blue,
/obj/item/clothing/suit/storage/toggle/track/green,
/obj/item/clothing/suit/storage/toggle/track/red,
/obj/item/clothing/suit/storage/toggle/track/white,
/obj/item/clothing/under/pants/track,
/obj/item/clothing/under/pants/track/blue,
/obj/item/clothing/under/pants/track/green,
/obj/item/clothing/under/pants/track/white,
/obj/item/clothing/under/pants/track/red,
/obj/item/clothing/shoes/athletic = 2,
/obj/item/clothing/shoes/hitops,
/obj/item/clothing/shoes/hitops/red,
/obj/item/clothing/shoes/hitops/black,
/obj/item/clothing/shoes/hitops/blue
)
/obj/structure/closet/athletic_swimwear
name = "athletic wardrobe"
desc = "It's a storage unit for swimwear."
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/under/shorts/grey,
/obj/item/clothing/under/shorts/black,
/obj/item/clothing/under/shorts/red,
/obj/item/clothing/under/shorts/blue,
/obj/item/clothing/under/shorts/green,
/obj/item/clothing/under/swimsuit/red,
/obj/item/clothing/under/swimsuit/black,
/obj/item/clothing/under/swimsuit/blue,
/obj/item/clothing/under/swimsuit/green,
/obj/item/clothing/under/swimsuit/purple,
/obj/item/clothing/under/swimsuit/striped,
/obj/item/clothing/under/swimsuit/white,
/obj/item/clothing/under/swimsuit/earth,
/obj/item/clothing/under/wetsuit,
/obj/item/clothing/under/wetsuit_rec,
/obj/item/clothing/under/wetsuit_skimpy,
/obj/item/clothing/mask/snorkel = 2,
/obj/item/clothing/shoes/swimmingfins = 2)
/obj/structure/closet/boxinggloves
name = "boxing gloves"
desc = "It's a storage unit for gloves for use in the boxing ring."
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/gloves/boxing/blue,
/obj/item/clothing/gloves/boxing/green,
/obj/item/clothing/gloves/boxing/yellow,
/obj/item/clothing/gloves/boxing)
/obj/structure/closet/masks
name = "mask closet"
desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!"
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/mask/luchador,
/obj/item/clothing/mask/luchador/rudos,
/obj/item/clothing/mask/luchador/tecnicos)
/obj/structure/closet/lasertag/red
name = "red laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/red
starts_with = list(
/obj/item/weapon/gun/energy/lasertag/red = 5,
/obj/item/clothing/suit/redtag = 5)
/obj/structure/closet/lasertag/blue
name = "blue laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/blue
starts_with = list(
/obj/item/weapon/gun/energy/lasertag/blue = 5,
/obj/item/clothing/suit/bluetag = 5)
/obj/structure/closet/lasertag/red/laserdome
name = "red team laserdome equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/red
starts_with = list(
/obj/item/device/encryptionkey/ent = 3,
/obj/item/clothing/gloves/bluespace = 3,
/obj/item/clothing/under/color/red = 3,
/obj/item/weapon/gun/energy/lasertag/red = 3,
/obj/item/clothing/head/redtag = 3,
/obj/item/clothing/suit/redtag = 3)
/obj/structure/closet/lasertag/blue/laserdome
name = "blue team laserdome equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/blue
starts_with = list(
/obj/item/device/encryptionkey/ent = 3,
/obj/item/clothing/gloves/bluespace = 3,
/obj/item/clothing/under/color/blue = 3,
/obj/item/weapon/gun/energy/lasertag/blue = 3,
/obj/item/clothing/head/bluetag = 3,
/obj/item/clothing/suit/bluetag = 3)
/obj/structure/closet/athletic_mixed
name = "athletic wardrobe"
desc = "It's a storage unit for athletic wear."
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/under/shorts/grey,
/obj/item/clothing/under/shorts/black,
/obj/item/clothing/under/shorts/red,
/obj/item/clothing/under/shorts/blue,
/obj/item/clothing/under/shorts/green,
/obj/item/clothing/under/shorts/white,
/obj/item/clothing/suit/storage/toggle/track,
/obj/item/clothing/suit/storage/toggle/track/blue,
/obj/item/clothing/suit/storage/toggle/track/green,
/obj/item/clothing/suit/storage/toggle/track/red,
/obj/item/clothing/suit/storage/toggle/track/white,
/obj/item/clothing/under/pants/track,
/obj/item/clothing/under/pants/track/blue,
/obj/item/clothing/under/pants/track/green,
/obj/item/clothing/under/pants/track/white,
/obj/item/clothing/under/pants/track/red,
/obj/item/clothing/shoes/athletic = 2,
/obj/item/clothing/shoes/hitops,
/obj/item/clothing/shoes/hitops/red,
/obj/item/clothing/shoes/hitops/black,
/obj/item/clothing/shoes/hitops/blue
)
/obj/structure/closet/athletic_swimwear
name = "athletic wardrobe"
desc = "It's a storage unit for swimwear."
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/under/shorts/grey,
/obj/item/clothing/under/shorts/black,
/obj/item/clothing/under/shorts/red,
/obj/item/clothing/under/shorts/blue,
/obj/item/clothing/under/shorts/green,
/obj/item/clothing/under/swimsuit/red,
/obj/item/clothing/under/swimsuit/black,
/obj/item/clothing/under/swimsuit/blue,
/obj/item/clothing/under/swimsuit/green,
/obj/item/clothing/under/swimsuit/purple,
/obj/item/clothing/under/swimsuit/striped,
/obj/item/clothing/under/swimsuit/white,
/obj/item/clothing/under/swimsuit/earth,
/obj/item/clothing/under/wetsuit,
/obj/item/clothing/under/wetsuit_rec,
/obj/item/clothing/under/wetsuit_skimpy,
/obj/item/clothing/mask/snorkel = 2,
/obj/item/clothing/shoes/swimmingfins = 2)
/obj/structure/closet/boxinggloves
name = "boxing gloves"
desc = "It's a storage unit for gloves for use in the boxing ring."
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/gloves/boxing/blue,
/obj/item/clothing/gloves/boxing/green,
/obj/item/clothing/gloves/boxing/yellow,
/obj/item/clothing/gloves/boxing)
/obj/structure/closet/masks
name = "mask closet"
desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!"
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/mask/luchador,
/obj/item/clothing/mask/luchador/rudos,
/obj/item/clothing/mask/luchador/tecnicos)
/obj/structure/closet/lasertag/red
name = "red laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/red
starts_with = list(
/obj/item/weapon/gun/energy/lasertag/red = 5,
/obj/item/clothing/suit/redtag = 5)
/obj/structure/closet/lasertag/blue
name = "blue laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/blue
starts_with = list(
/obj/item/weapon/gun/energy/lasertag/blue = 5,
/obj/item/clothing/suit/bluetag = 5)
/obj/structure/closet/lasertag/red/laserdome
name = "red team laserdome equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/red
starts_with = list(
/obj/item/device/encryptionkey/ent = 3,
/obj/item/clothing/gloves/bluespace = 3,
/obj/item/clothing/under/color/red = 3,
/obj/item/weapon/gun/energy/lasertag/red = 3,
/obj/item/clothing/head/redtag = 3,
/obj/item/clothing/suit/redtag = 3)
/obj/structure/closet/lasertag/blue/laserdome
name = "blue team laserdome equipment"
desc = "It's a storage unit for laser tag equipment."
closet_appearance = /decl/closet_appearance/wardrobe/blue
starts_with = list(
/obj/item/device/encryptionkey/ent = 3,
/obj/item/clothing/gloves/bluespace = 3,
/obj/item/clothing/under/color/blue = 3,
/obj/item/weapon/gun/energy/lasertag/blue = 3,
/obj/item/clothing/head/bluetag = 3,
/obj/item/clothing/suit/bluetag = 3)
@@ -1,84 +1,84 @@
/obj/structure/closet/cabinet
name = "cabinet"
desc = "Old will forever be in fashion."
icon = 'icons/obj/closets/bases/cabinet.dmi'
closet_appearance = /decl/closet_appearance/cabinet
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
closet_appearance = /decl/closet_appearance/alien
open_sound = 'sound/machines/click.ogg'
close_sound = 'sound/machines/click.ogg'
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
closet_appearance = /decl/closet_appearance/tactical
anchored = FALSE
/obj/structure/closet/gimmick/russian
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/clothing/head/ushanka = 5,
/obj/item/clothing/under/soviet = 5)
/obj/structure/closet/gimmick/tacticool
name = "tacticool gear closet"
desc = "It's a storage unit for Tacticool gear."
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/clothing/glasses/eyepatch,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/gloves/swat = 2,
/obj/item/clothing/head/helmet/swat = 2,
/obj/item/clothing/mask/gas = 2,
/obj/item/clothing/shoes/boots/swat = 2,
/obj/item/clothing/suit/armor/swat = 2,
/obj/item/clothing/under/syndicate/tacticool = 2)
/obj/structure/closet/thunderdome
name = "\improper Thunderdome closet"
desc = "Everything you need!"
closet_appearance = /decl/closet_appearance/thunderdomered
anchored = TRUE
/obj/structure/closet/thunderdome/tdred
name = "red-team Thunderdome closet"
starts_with = list(
/obj/item/clothing/suit/armor/tdome/red = 3,
/obj/item/weapon/melee/energy/sword = 3,
/obj/item/weapon/gun/energy/laser = 3,
/obj/item/weapon/melee/baton = 3,
/obj/item/weapon/storage/box/flashbangs = 3,
/obj/item/clothing/head/helmet/thunderdome = 3)
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
closet_appearance = /decl/closet_appearance/thunderdomegreen
starts_with = list(
/obj/item/clothing/suit/armor/tdome/green = 3,
/obj/item/weapon/melee/energy/sword = 3,
/obj/item/weapon/gun/energy/laser = 3,
/obj/item/weapon/melee/baton = 3,
/obj/item/weapon/storage/box/flashbangs = 3,
/obj/item/clothing/head/helmet/thunderdome = 3)
/obj/structure/closet/alien
name = "alien container"
desc = "Contains secrets of the universe."
icon = 'icons/obj/closets/abductor.dmi'
anchored = TRUE
closet_appearance = null // special icons
/obj/structure/closet/cabinet
name = "cabinet"
desc = "Old will forever be in fashion."
icon = 'icons/obj/closets/bases/cabinet.dmi'
closet_appearance = /decl/closet_appearance/cabinet
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
closet_appearance = /decl/closet_appearance/alien
open_sound = 'sound/machines/click.ogg'
close_sound = 'sound/machines/click.ogg'
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
closet_appearance = /decl/closet_appearance/tactical
anchored = FALSE
/obj/structure/closet/gimmick/russian
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/clothing/head/ushanka = 5,
/obj/item/clothing/under/soviet = 5)
/obj/structure/closet/gimmick/tacticool
name = "tacticool gear closet"
desc = "It's a storage unit for Tacticool gear."
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/clothing/glasses/eyepatch,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/gloves/swat = 2,
/obj/item/clothing/head/helmet/swat = 2,
/obj/item/clothing/mask/gas = 2,
/obj/item/clothing/shoes/boots/swat = 2,
/obj/item/clothing/suit/armor/swat = 2,
/obj/item/clothing/under/syndicate/tacticool = 2)
/obj/structure/closet/thunderdome
name = "\improper Thunderdome closet"
desc = "Everything you need!"
closet_appearance = /decl/closet_appearance/thunderdomered
anchored = TRUE
/obj/structure/closet/thunderdome/tdred
name = "red-team Thunderdome closet"
starts_with = list(
/obj/item/clothing/suit/armor/tdome/red = 3,
/obj/item/weapon/melee/energy/sword = 3,
/obj/item/weapon/gun/energy/laser = 3,
/obj/item/weapon/melee/baton = 3,
/obj/item/weapon/storage/box/flashbangs = 3,
/obj/item/clothing/head/helmet/thunderdome = 3)
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
closet_appearance = /decl/closet_appearance/thunderdomegreen
starts_with = list(
/obj/item/clothing/suit/armor/tdome/green = 3,
/obj/item/weapon/melee/energy/sword = 3,
/obj/item/weapon/gun/energy/laser = 3,
/obj/item/weapon/melee/baton = 3,
/obj/item/weapon/storage/box/flashbangs = 3,
/obj/item/clothing/head/helmet/thunderdome = 3)
/obj/structure/closet/alien
name = "alien container"
desc = "Contains secrets of the universe."
icon = 'icons/obj/closets/abductor.dmi'
anchored = TRUE
closet_appearance = null // special icons
@@ -1,132 +1,132 @@
/*
* Closets for specific jobs
* Contains:
* Bartender
* Janitor
* Lawyer
* Janitorial Equipment
*
*
* These have been removed from the map for the most part, however
* do not remove these in case people want to make maps or POIs
* with these closets.
*
*/
/*
* Bartender
*/
/obj/structure/closet/gmcloset
name = "formal closet"
desc = "It's a storage unit for formal clothing."
closet_appearance = /decl/closet_appearance/wardrobe/suit
starts_with = list(
/obj/item/clothing/head/that = 2,
/obj/item/device/radio/headset/headset_service = 2,
/obj/item/clothing/head/pin/flower,
/obj/item/clothing/head/pin/flower/pink,
/obj/item/clothing/head/pin/flower/yellow,
/obj/item/clothing/head/pin/flower/blue,
/obj/item/clothing/head/pin/pink,
/obj/item/clothing/head/pin/magnetic,
/obj/item/clothing/under/sl_suit = 2,
/obj/item/clothing/under/rank/bartender = 2,
/obj/item/clothing/under/rank/bartender/skirt,
/obj/item/clothing/suit/storage/hooded/wintercoat/bar,
/obj/item/clothing/under/dress/dress_saloon,
/obj/item/clothing/accessory/wcoat = 2,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/shoes/laceup
)
/*
* Chef
*/
/obj/structure/closet/chefcloset
name = "chef's closet"
desc = "It's a storage unit for foodservice garments."
closet_appearance = /decl/closet_appearance/wardrobe/white
starts_with = list(
/obj/item/clothing/under/sundress,
/obj/item/clothing/under/waiter = 2,
/obj/item/device/radio/headset/headset_service = 2,
/obj/item/weapon/storage/box/mousetraps = 2,
/obj/item/clothing/under/rank/chef,
/obj/item/clothing/head/chefhat,
/obj/item/weapon/storage/bag/food = 2
)
/*
* Janitor
*/
/obj/structure/closet/jcloset
name = "custodial closet"
desc = "It's a storage unit for janitorial clothes and gear."
closet_appearance = /decl/closet_appearance/wardrobe/janitor
starts_with = list(
/obj/item/clothing/under/rank/janitor,
/obj/item/clothing/under/dress/maid/janitor,
/obj/item/device/radio/headset/headset_service,
/obj/item/weapon/cartridge/janitor,
/obj/item/clothing/suit/storage/hooded/wintercoat/janitor,
/obj/item/clothing/gloves/black,
/obj/item/clothing/head/soft/purple,
/obj/item/clothing/head/beret/purple,
/obj/item/device/flashlight,
/obj/item/clothing/suit/caution = 4,
/obj/item/device/lightreplacer,
/obj/item/weapon/storage/bag/trash,
/obj/item/weapon/storage/belt/janitor,
/obj/item/clothing/shoes/galoshes
)
/*
* Lawyer
*/
/obj/structure/closet/lawcloset
name = "legal closet"
desc = "It's a storage unit for courtroom apparel and items."
closet_appearance = /decl/closet_appearance/wardrobe/suit
starts_with = list(
/obj/item/clothing/under/lawyer/female = 2,
/obj/item/clothing/under/lawyer/black = 2,
/obj/item/clothing/under/lawyer/black/skirt = 2,
/obj/item/clothing/under/lawyer/red = 2,
/obj/item/clothing/under/lawyer/red/skirt = 2,
/obj/item/clothing/suit/storage/toggle/internalaffairs = 2,
/obj/item/clothing/under/lawyer/bluesuit = 2,
/obj/item/clothing/under/lawyer/bluesuit/skirt = 2,
/obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 2,
/obj/item/clothing/under/lawyer/purpsuit = 2,
/obj/item/clothing/under/lawyer/purpsuit/skirt = 2,
/obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 2,
/obj/item/clothing/shoes/brown = 2,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/glasses/sunglasses/big = 2,
/obj/item/clothing/under/lawyer/blue = 2,
/obj/item/clothing/under/lawyer/blue/skirt = 2,
/obj/item/device/tape/random = 2
)
/*
* Janitorial Equipment
*/
/obj/structure/closet/jequipcloset
name = "custodial equipment closet"
desc = "It's a storage unit for janitorial clothes and gear."
closet_appearance = /decl/closet_appearance/wardrobe/janitor
starts_with = list(
/obj/item/device/flashlight = 5,
/obj/item/clothing/suit/caution = 12,
/obj/item/device/lightreplacer = 3,
/obj/item/weapon/storage/bag/trash = 3,
/obj/item/weapon/storage/box/lights/mixed = 3,
/obj/item/weapon/storage/box/mousetraps = 1,
/obj/item/weapon/grenade/chem_grenade/cleaner = 4
)
/*
* Closets for specific jobs
* Contains:
* Bartender
* Janitor
* Lawyer
* Janitorial Equipment
*
*
* These have been removed from the map for the most part, however
* do not remove these in case people want to make maps or POIs
* with these closets.
*
*/
/*
* Bartender
*/
/obj/structure/closet/gmcloset
name = "formal closet"
desc = "It's a storage unit for formal clothing."
closet_appearance = /decl/closet_appearance/wardrobe/suit
starts_with = list(
/obj/item/clothing/head/that = 2,
/obj/item/device/radio/headset/headset_service = 2,
/obj/item/clothing/head/pin/flower,
/obj/item/clothing/head/pin/flower/pink,
/obj/item/clothing/head/pin/flower/yellow,
/obj/item/clothing/head/pin/flower/blue,
/obj/item/clothing/head/pin/pink,
/obj/item/clothing/head/pin/magnetic,
/obj/item/clothing/under/sl_suit = 2,
/obj/item/clothing/under/rank/bartender = 2,
/obj/item/clothing/under/rank/bartender/skirt,
/obj/item/clothing/suit/storage/hooded/wintercoat/bar,
/obj/item/clothing/under/dress/dress_saloon,
/obj/item/clothing/accessory/wcoat = 2,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/shoes/laceup
)
/*
* Chef
*/
/obj/structure/closet/chefcloset
name = "chef's closet"
desc = "It's a storage unit for foodservice garments."
closet_appearance = /decl/closet_appearance/wardrobe/white
starts_with = list(
/obj/item/clothing/under/sundress,
/obj/item/clothing/under/waiter = 2,
/obj/item/device/radio/headset/headset_service = 2,
/obj/item/weapon/storage/box/mousetraps = 2,
/obj/item/clothing/under/rank/chef,
/obj/item/clothing/head/chefhat,
/obj/item/weapon/storage/bag/food = 2
)
/*
* Janitor
*/
/obj/structure/closet/jcloset
name = "custodial closet"
desc = "It's a storage unit for janitorial clothes and gear."
closet_appearance = /decl/closet_appearance/wardrobe/janitor
starts_with = list(
/obj/item/clothing/under/rank/janitor,
/obj/item/clothing/under/dress/maid/janitor,
/obj/item/device/radio/headset/headset_service,
/obj/item/weapon/cartridge/janitor,
/obj/item/clothing/suit/storage/hooded/wintercoat/janitor,
/obj/item/clothing/gloves/black,
/obj/item/clothing/head/soft/purple,
/obj/item/clothing/head/beret/purple,
/obj/item/device/flashlight,
/obj/item/clothing/suit/caution = 4,
/obj/item/device/lightreplacer,
/obj/item/weapon/storage/bag/trash,
/obj/item/weapon/storage/belt/janitor,
/obj/item/clothing/shoes/galoshes
)
/*
* Lawyer
*/
/obj/structure/closet/lawcloset
name = "legal closet"
desc = "It's a storage unit for courtroom apparel and items."
closet_appearance = /decl/closet_appearance/wardrobe/suit
starts_with = list(
/obj/item/clothing/under/lawyer/female = 2,
/obj/item/clothing/under/lawyer/black = 2,
/obj/item/clothing/under/lawyer/black/skirt = 2,
/obj/item/clothing/under/lawyer/red = 2,
/obj/item/clothing/under/lawyer/red/skirt = 2,
/obj/item/clothing/suit/storage/toggle/internalaffairs = 2,
/obj/item/clothing/under/lawyer/bluesuit = 2,
/obj/item/clothing/under/lawyer/bluesuit/skirt = 2,
/obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 2,
/obj/item/clothing/under/lawyer/purpsuit = 2,
/obj/item/clothing/under/lawyer/purpsuit/skirt = 2,
/obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 2,
/obj/item/clothing/shoes/brown = 2,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/glasses/sunglasses/big = 2,
/obj/item/clothing/under/lawyer/blue = 2,
/obj/item/clothing/under/lawyer/blue/skirt = 2,
/obj/item/device/tape/random = 2
)
/*
* Janitorial Equipment
*/
/obj/structure/closet/jequipcloset
name = "custodial equipment closet"
desc = "It's a storage unit for janitorial clothes and gear."
closet_appearance = /decl/closet_appearance/wardrobe/janitor
starts_with = list(
/obj/item/device/flashlight = 5,
/obj/item/clothing/suit/caution = 12,
/obj/item/device/lightreplacer = 3,
/obj/item/weapon/storage/bag/trash = 3,
/obj/item/weapon/storage/box/lights/mixed = 3,
/obj/item/weapon/storage/box/mousetraps = 1,
/obj/item/weapon/grenade/chem_grenade/cleaner = 4
)
@@ -1,63 +1,63 @@
/obj/structure/closet/l3closet
name = "level-3 biohazard suit closet"
desc = "It's a storage unit for level-3 biohazard gear."
closet_appearance = /decl/closet_appearance/bio
/obj/structure/closet/l3closet/general
closet_appearance = /decl/closet_appearance/bio
starts_with = list(
/obj/item/clothing/suit/bio_suit/general,
/obj/item/clothing/head/bio_hood/general)
/obj/structure/closet/l3closet/virology
closet_appearance = /decl/closet_appearance/bio/virology
starts_with = list(
/obj/item/clothing/suit/bio_suit/virology,
/obj/item/clothing/head/bio_hood/virology,
/obj/item/clothing/mask/gas,
/obj/item/weapon/tank/oxygen)
/obj/structure/closet/l3closet/security
closet_appearance = /decl/closet_appearance/bio/security
starts_with = list(
/obj/item/clothing/suit/bio_suit/security,
/obj/item/clothing/head/bio_hood/security)
///obj/item/weapon/gun/energy/taser/xeno/sec) //VOREStation Removal
/obj/structure/closet/l3closet/janitor
closet_appearance = /decl/closet_appearance/bio/janitor
starts_with = list(
/obj/item/clothing/suit/bio_suit/janitor = 2,
/obj/item/clothing/head/bio_hood/janitor = 2,
/obj/item/clothing/mask/gas = 2,
/obj/item/weapon/tank/emergency/oxygen/engi = 2)
/obj/structure/closet/l3closet/scientist
closet_appearance = /decl/closet_appearance/bio/science
starts_with = list(
/obj/item/clothing/suit/bio_suit/scientist,
/obj/item/clothing/head/bio_hood/scientist,
/obj/item/weapon/storage/bag/xeno = 1)
/obj/structure/closet/l3closet/scientist/double
starts_with = list(
/obj/item/clothing/suit/bio_suit/scientist = 2,
/obj/item/clothing/head/bio_hood/scientist = 2,
/obj/item/weapon/storage/bag/xeno = 2) // VOREEdit, adding the xenobag to xenobio.
/obj/structure/closet/l3closet/medical
closet_appearance = /decl/closet_appearance/bio/medical
starts_with = list(
/obj/item/clothing/suit/bio_suit/general = 3,
/obj/item/clothing/head/bio_hood/general = 3,
/obj/item/clothing/mask/gas = 3)
/obj/structure/closet/l3closet
name = "level-3 biohazard suit closet"
desc = "It's a storage unit for level-3 biohazard gear."
closet_appearance = /decl/closet_appearance/bio
/obj/structure/closet/l3closet/general
closet_appearance = /decl/closet_appearance/bio
starts_with = list(
/obj/item/clothing/suit/bio_suit/general,
/obj/item/clothing/head/bio_hood/general)
/obj/structure/closet/l3closet/virology
closet_appearance = /decl/closet_appearance/bio/virology
starts_with = list(
/obj/item/clothing/suit/bio_suit/virology,
/obj/item/clothing/head/bio_hood/virology,
/obj/item/clothing/mask/gas,
/obj/item/weapon/tank/oxygen)
/obj/structure/closet/l3closet/security
closet_appearance = /decl/closet_appearance/bio/security
starts_with = list(
/obj/item/clothing/suit/bio_suit/security,
/obj/item/clothing/head/bio_hood/security)
///obj/item/weapon/gun/energy/taser/xeno/sec) //VOREStation Removal
/obj/structure/closet/l3closet/janitor
closet_appearance = /decl/closet_appearance/bio/janitor
starts_with = list(
/obj/item/clothing/suit/bio_suit/janitor = 2,
/obj/item/clothing/head/bio_hood/janitor = 2,
/obj/item/clothing/mask/gas = 2,
/obj/item/weapon/tank/emergency/oxygen/engi = 2)
/obj/structure/closet/l3closet/scientist
closet_appearance = /decl/closet_appearance/bio/science
starts_with = list(
/obj/item/clothing/suit/bio_suit/scientist,
/obj/item/clothing/head/bio_hood/scientist,
/obj/item/weapon/storage/bag/xeno = 1)
/obj/structure/closet/l3closet/scientist/double
starts_with = list(
/obj/item/clothing/suit/bio_suit/scientist = 2,
/obj/item/clothing/head/bio_hood/scientist = 2,
/obj/item/weapon/storage/bag/xeno = 2) // VOREEdit, adding the xenobag to xenobio.
/obj/structure/closet/l3closet/medical
closet_appearance = /decl/closet_appearance/bio/medical
starts_with = list(
/obj/item/clothing/suit/bio_suit/general = 3,
/obj/item/clothing/head/bio_hood/general = 3,
/obj/item/clothing/mask/gas = 3)
@@ -1,12 +1,12 @@
/obj/structure/closet/malf/suits
desc = "It's a storage unit for operational gear."
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/weapon/tank/jetpack/void,
/obj/item/clothing/mask/breath,
/obj/item/clothing/head/helmet/space/void,
/obj/item/clothing/suit/space/void,
/obj/item/weapon/tool/crowbar,
/obj/item/weapon/cell,
/obj/item/device/multitool)
/obj/structure/closet/malf/suits
desc = "It's a storage unit for operational gear."
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/weapon/tank/jetpack/void,
/obj/item/clothing/mask/breath,
/obj/item/clothing/head/helmet/space/void,
/obj/item/clothing/suit/space/void,
/obj/item/weapon/tool/crowbar,
/obj/item/weapon/cell,
/obj/item/device/multitool)
@@ -1,149 +1,149 @@
/obj/structure/closet/secure_closet/engineering_chief
name = "chief engineer's locker"
req_access = list(access_ce)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/ce
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/areaeditor/blueprints,
/obj/item/wire_reader,
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
/obj/item/clothing/under/rank/chief_engineer,
/obj/item/clothing/under/rank/chief_engineer/skirt,
/obj/item/clothing/under/rank/neo_chiefengi,
/obj/item/clothing/under/rank/neo_chiefengi_skirt,
/obj/item/clothing/under/rank/neo_ce_gorka,
/obj/item/clothing/head/hardhat/white,
///obj/item/clothing/head/welding, //VOREStation Removal: Locker bloat, grr. They get fancy goggles or can raid the welding supplies locker for one of these.
/obj/item/clothing/gloves/heavy_engineer, //VOREStation Edit: chief gets the good shit
/obj/item/clothing/shoes/brown,
/obj/item/weapon/cartridge/ce,
/obj/item/device/radio/headset/heads/ce,
/obj/item/device/radio/headset/heads/ce/alt,
/obj/item/weapon/storage/toolbox/mechanical,
/obj/item/clothing/suit/storage/hazardvest,
///obj/item/clothing/mask/gas, //VOREStation Removal: Locker bloat, grr. The fancy one below functions as a mask & helmet combined.
/obj/item/clothing/head/hardhat/firefighter/chief, //VOREStation Add: replaces the bog-standard gas mask
///obj/item/device/multitool, //VOREStation Removal: The belt they get, both standard and the fancy one, both come with one already, why stick another in here too?
/obj/item/weapon/storage/belt/utility/chief/full,
/obj/item/device/flash,
/obj/item/device/t_scanner/upgraded,
/obj/item/taperoll/engineering,
///obj/item/clothing/suit/storage/hooded/wintercoat/engineering, //VOREStation Removal: Locker bloat, grr. They can grab from the engi-clothes vendor if they want the standard one.
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/ce,
///obj/item/clothing/shoes/boots/winter/engineering, //VOREStation Removal: Locker bloat, grr. As above.
/obj/item/clothing/head/beret/engineering/ce,
/obj/item/clothing/head/beret/engineering/ce/white,
/obj/item/weapon/tank/emergency/oxygen/double, //VOREStation Edit: chief gets the good shit
/obj/item/weapon/reagent_containers/spray/windowsealant) //VOREStation Add
/obj/structure/closet/secure_closet/engineering_chief/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/industrial
else
starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
return ..()
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies"
req_access = list(access_engine_equip)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/electrical
starts_with = list(
/obj/item/clothing/gloves/yellow = 2,
/obj/item/weapon/storage/toolbox/electrical = 3,
/obj/item/weapon/module/power_control = 3,
/obj/item/device/multitool = 3)
/obj/structure/closet/secure_closet/engineering_electrical/double
starts_with = list(
/obj/item/clothing/gloves/yellow = 4,
/obj/item/weapon/storage/toolbox/electrical = 6,
/obj/item/weapon/module/power_control = 6,
/obj/item/device/multitool = 6)
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies"
req_access = list(access_construction)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/welding
starts_with = list(
/obj/item/clothing/head/welding = 3,
/obj/item/weapon/weldingtool/largetank = 3,
/obj/item/weapon/weldpack = 3,
/obj/item/clothing/glasses/welding = 3)
/obj/structure/closet/secure_closet/engineering_welding/double
starts_with = list(
/obj/item/clothing/head/welding = 6,
/obj/item/weapon/weldingtool/largetank = 6,
/obj/item/weapon/weldpack = 6,
/obj/item/clothing/glasses/welding = 6)
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
req_access = list(access_engine_equip)
closet_appearance = /decl/closet_appearance/secure_closet/engineering
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/weapon/storage/toolbox/mechanical,
/obj/item/device/radio/headset/headset_eng,
/obj/item/device/radio/headset/headset_eng/alt,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/mask/gas,
/obj/item/clothing/glasses/meson,
/obj/item/weapon/cartridge/engineering,
/obj/item/taperoll/engineering,
/obj/item/clothing/head/hardhat,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering,
/obj/item/clothing/shoes/boots/winter/engineering,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/storage/belt/utility, //VOREStation Add
/obj/item/weapon/reagent_containers/spray/windowsealant, //VOREStation Add
/obj/item/areaeditor/blueprints/engineers) //VOREStation Add
/obj/structure/closet/secure_closet/engineering_personal/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/industrial
else
starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
return ..()
/obj/structure/closet/secure_closet/atmos_personal
name = "technician's locker"
req_access = list(access_atmospherics)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/atmos
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/suit/fire/heavy,
/obj/item/clothing/head/hardhat/firefighter/atmos,
/obj/item/device/flashlight,
/obj/item/weapon/extinguisher/atmo,
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
/obj/item/device/radio/headset/headset_eng,
/obj/item/device/radio/headset/headset_eng/alt,
/obj/item/clothing/suit/storage/hazardvest/atmos, //VOREStation edit. Eng locker gets regular haz-vest, atmos gets the themed one of their own
/obj/item/clothing/mask/gas,
/obj/item/weapon/cartridge/atmos,
/obj/item/taperoll/atmos,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos,
/obj/item/clothing/shoes/boots/winter/atmos,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/storage/belt/utility/atmostech) //VOREStation edit. They don't get a toolbox to fill it from, so why not give a spare one that's full already?
/obj/structure/closet/secure_closet/atmos_personal/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/industrial
else
starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
return ..()
/obj/structure/closet/secure_closet/engineering_chief
name = "chief engineer's locker"
req_access = list(access_ce)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/ce
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/areaeditor/blueprints,
/obj/item/wire_reader,
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
/obj/item/clothing/under/rank/chief_engineer,
/obj/item/clothing/under/rank/chief_engineer/skirt,
/obj/item/clothing/under/rank/neo_chiefengi,
/obj/item/clothing/under/rank/neo_chiefengi_skirt,
/obj/item/clothing/under/rank/neo_ce_gorka,
/obj/item/clothing/head/hardhat/white,
///obj/item/clothing/head/welding, //VOREStation Removal: Locker bloat, grr. They get fancy goggles or can raid the welding supplies locker for one of these.
/obj/item/clothing/gloves/heavy_engineer, //VOREStation Edit: chief gets the good shit
/obj/item/clothing/shoes/brown,
/obj/item/weapon/cartridge/ce,
/obj/item/device/radio/headset/heads/ce,
/obj/item/device/radio/headset/heads/ce/alt,
/obj/item/weapon/storage/toolbox/mechanical,
/obj/item/clothing/suit/storage/hazardvest,
///obj/item/clothing/mask/gas, //VOREStation Removal: Locker bloat, grr. The fancy one below functions as a mask & helmet combined.
/obj/item/clothing/head/hardhat/firefighter/chief, //VOREStation Add: replaces the bog-standard gas mask
///obj/item/device/multitool, //VOREStation Removal: The belt they get, both standard and the fancy one, both come with one already, why stick another in here too?
/obj/item/weapon/storage/belt/utility/chief/full,
/obj/item/device/flash,
/obj/item/device/t_scanner/upgraded,
/obj/item/taperoll/engineering,
///obj/item/clothing/suit/storage/hooded/wintercoat/engineering, //VOREStation Removal: Locker bloat, grr. They can grab from the engi-clothes vendor if they want the standard one.
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/ce,
///obj/item/clothing/shoes/boots/winter/engineering, //VOREStation Removal: Locker bloat, grr. As above.
/obj/item/clothing/head/beret/engineering/ce,
/obj/item/clothing/head/beret/engineering/ce/white,
/obj/item/weapon/tank/emergency/oxygen/double, //VOREStation Edit: chief gets the good shit
/obj/item/weapon/reagent_containers/spray/windowsealant) //VOREStation Add
/obj/structure/closet/secure_closet/engineering_chief/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/industrial
else
starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
return ..()
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies"
req_access = list(access_engine_equip)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/electrical
starts_with = list(
/obj/item/clothing/gloves/yellow = 2,
/obj/item/weapon/storage/toolbox/electrical = 3,
/obj/item/weapon/module/power_control = 3,
/obj/item/device/multitool = 3)
/obj/structure/closet/secure_closet/engineering_electrical/double
starts_with = list(
/obj/item/clothing/gloves/yellow = 4,
/obj/item/weapon/storage/toolbox/electrical = 6,
/obj/item/weapon/module/power_control = 6,
/obj/item/device/multitool = 6)
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies"
req_access = list(access_construction)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/welding
starts_with = list(
/obj/item/clothing/head/welding = 3,
/obj/item/weapon/weldingtool/largetank = 3,
/obj/item/weapon/weldpack = 3,
/obj/item/clothing/glasses/welding = 3)
/obj/structure/closet/secure_closet/engineering_welding/double
starts_with = list(
/obj/item/clothing/head/welding = 6,
/obj/item/weapon/weldingtool/largetank = 6,
/obj/item/weapon/weldpack = 6,
/obj/item/clothing/glasses/welding = 6)
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
req_access = list(access_engine_equip)
closet_appearance = /decl/closet_appearance/secure_closet/engineering
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/weapon/storage/toolbox/mechanical,
/obj/item/device/radio/headset/headset_eng,
/obj/item/device/radio/headset/headset_eng/alt,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/mask/gas,
/obj/item/clothing/glasses/meson,
/obj/item/weapon/cartridge/engineering,
/obj/item/taperoll/engineering,
/obj/item/clothing/head/hardhat,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering,
/obj/item/clothing/shoes/boots/winter/engineering,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/storage/belt/utility, //VOREStation Add
/obj/item/weapon/reagent_containers/spray/windowsealant, //VOREStation Add
/obj/item/areaeditor/blueprints/engineers) //VOREStation Add
/obj/structure/closet/secure_closet/engineering_personal/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/industrial
else
starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
return ..()
/obj/structure/closet/secure_closet/atmos_personal
name = "technician's locker"
req_access = list(access_atmospherics)
closet_appearance = /decl/closet_appearance/secure_closet/engineering/atmos
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/suit/fire/heavy,
/obj/item/clothing/head/hardhat/firefighter/atmos,
/obj/item/device/flashlight,
/obj/item/weapon/extinguisher/atmo,
///obj/item/clamp, //VOREStation Removal: without leaks those are pointless,
/obj/item/device/radio/headset/headset_eng,
/obj/item/device/radio/headset/headset_eng/alt,
/obj/item/clothing/suit/storage/hazardvest/atmos, //VOREStation edit. Eng locker gets regular haz-vest, atmos gets the themed one of their own
/obj/item/clothing/mask/gas,
/obj/item/weapon/cartridge/atmos,
/obj/item/taperoll/atmos,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos,
/obj/item/clothing/shoes/boots/winter/atmos,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/storage/belt/utility/atmostech) //VOREStation edit. They don't get a toolbox to fill it from, so why not give a spare one that's full already?
/obj/structure/closet/secure_closet/atmos_personal/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/industrial
else
starts_with += /obj/item/weapon/storage/backpack/satchel/eng
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/eng
return ..()
@@ -1,51 +1,51 @@
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen cabinet"
req_access = list(access_kitchen)
starts_with = list(
/obj/item/weapon/reagent_containers/food/condiment/carton/flour = 6,
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar = 1,
/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic = 1,
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic = 1,
/obj/item/weapon/reagent_containers/food/condiment/spacespice = 2
)
open_sound = 'sound/machines/click.ogg'
close_sound = 'sound/machines/click.ogg'
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon = 'icons/obj/closets/fridge.dmi'
closet_appearance = null
starts_with = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10)
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
icon = 'icons/obj/closets/fridge.dmi'
closet_appearance = null
starts_with = list(
/obj/item/weapon/reagent_containers/food/drinks/milk = 6,
/obj/item/weapon/reagent_containers/food/drinks/soymilk = 4,
/obj/item/weapon/storage/fancy/egg_box = 4,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose = 2)
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
icon = 'icons/obj/closets/fridge.dmi'
closet_appearance = null
req_access = list(access_heads_vault)
starts_with = list(
/obj/item/weapon/spacecash/c1000 = 3,
/obj/item/weapon/spacecash/c500 = 4,
/obj/item/weapon/spacecash/c200 = 5)
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen cabinet"
req_access = list(access_kitchen)
starts_with = list(
/obj/item/weapon/reagent_containers/food/condiment/carton/flour = 6,
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar = 1,
/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic = 1,
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic = 1,
/obj/item/weapon/reagent_containers/food/condiment/spacespice = 2
)
open_sound = 'sound/machines/click.ogg'
close_sound = 'sound/machines/click.ogg'
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon = 'icons/obj/closets/fridge.dmi'
closet_appearance = null
starts_with = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10)
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
icon = 'icons/obj/closets/fridge.dmi'
closet_appearance = null
starts_with = list(
/obj/item/weapon/reagent_containers/food/drinks/milk = 6,
/obj/item/weapon/reagent_containers/food/drinks/soymilk = 4,
/obj/item/weapon/storage/fancy/egg_box = 4,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose = 2)
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
icon = 'icons/obj/closets/fridge.dmi'
closet_appearance = null
req_access = list(access_heads_vault)
starts_with = list(
/obj/item/weapon/spacecash/c1000 = 3,
/obj/item/weapon/spacecash/c500 = 4,
/obj/item/weapon/spacecash/c200 = 5)
@@ -1,269 +1,269 @@
/obj/structure/closet/secure_closet/medical1
name = "medicine closet"
desc = "Filled with medical junk."
req_access = list(access_medical)
closet_appearance = /decl/closet_appearance/secure_closet/medical/alt
starts_with = list(
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/reagent_containers/dropper = 2,
/obj/item/weapon/reagent_containers/glass/beaker = 2,
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2,
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2)
/obj/structure/closet/secure_closet/medical2
name = "anesthetics closet"
desc = "Used to knock people out."
req_access = list(access_surgery)
closet_appearance = /decl/closet_appearance/secure_closet/medical
starts_with = list(
/obj/item/weapon/tank/anesthetic = 3,
/obj/item/clothing/mask/breath/medical = 3)
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
req_access = list(access_medical_equip)
closet_appearance = /decl/closet_appearance/secure_closet/medical/doctor
starts_with = list(
/obj/item/clothing/under/rank/medical,
/obj/item/clothing/under/rank/nurse,
/obj/item/clothing/under/rank/orderly,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/shoes/white,
/obj/item/weapon/cartridge/medical,
/obj/item/device/radio/headset/headset_med,
/obj/item/device/radio/headset/headset_med/alt,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/alt,
/obj/item/clothing/shoes/boots/winter/medical,
/obj/item/clothing/under/rank/nursesuit,
/obj/item/clothing/head/nursehat,
/obj/item/weapon/storage/box/freezer = 3,
/obj/item/weapon/storage/belt/medical) //VOREStation Add
/obj/structure/closet/secure_closet/medical3/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/medic
else
starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs
starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
starts_with += /obj/item/clothing/head/surgery/navyblue
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs
starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
starts_with += /obj/item/clothing/head/surgery/navyblue
return ..()
/obj/structure/closet/secure_closet/paramedic
name = "paramedic locker"
desc = "Supplies for a first responder."
req_access = list(access_medical_equip)
closet_appearance = /decl/closet_appearance/secure_closet/medical/paramedic
starts_with = list(
/obj/item/weapon/storage/backpack/dufflebag/emt,
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,
/obj/item/weapon/storage/belt/medical/emt,
/obj/item/clothing/mask/gas,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/suit/storage/toggle/labcoat/emt,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/para,
/obj/item/clothing/shoes/boots/winter/medical,
/obj/item/device/radio/headset/headset_med/alt,
/obj/item/weapon/cartridge/medical,
/obj/item/weapon/storage/briefcase/inflatable,
/obj/item/device/flashlight,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/clothing/glasses/hud/health,
/obj/item/device/healthanalyzer,
/obj/item/device/radio/off,
/obj/random/medical,
/obj/item/weapon/tool/crowbar,
/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/storage/box/freezer,
/obj/item/clothing/accessory/storage/white_vest,
/obj/item/taperoll/medical)
/obj/structure/closet/secure_closet/CMO
name = "chief medical officer's locker"
req_access = list(access_cmo)
closet_appearance = /decl/closet_appearance/secure_closet/cmo
starts_with = list(
/obj/item/clothing/under/rank/chief_medical_officer,
/obj/item/clothing/under/rank/chief_medical_officer/skirt,
/obj/item/clothing/suit/storage/toggle/labcoat/cmo,
/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
/obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo,
/obj/item/weapon/cartridge/cmo,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/under/rank/neo_cmo,
/obj/item/clothing/under/rank/neo_cmo_skirt,
/obj/item/clothing/under/rank/neo_cmo_turtle,
/obj/item/clothing/under/rank/neo_cmo_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmo_gorka,
/obj/item/device/radio/headset/heads/cmo,
/obj/item/device/radio/headset/heads/cmo/alt,
/obj/item/device/flash,
/obj/item/weapon/reagent_containers/hypospray/vial,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/cmo,
/obj/item/clothing/shoes/boots/winter/medical,
/obj/item/clothing/head/beret/medical/cmo,
/obj/item/clothing/head/beret/medical/cmo/blue,
/obj/item/weapon/storage/box/freezer,
/obj/item/clothing/mask/gas,
/obj/item/taperoll/medical,
/obj/item/clothing/suit/bio_suit/cmo,
/obj/item/clothing/head/bio_hood/cmo,
/obj/item/clothing/shoes/white,
/obj/item/weapon/reagent_containers/glass/beaker/vial, //VOREStation Add
/obj/item/weapon/storage/belt/medical) //VOREStation Add
/obj/structure/closet/secure_closet/CMO/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/medic
else
starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs
starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
starts_with += /obj/item/clothing/head/surgery/navyblue
return ..()
/obj/structure/closet/secure_closet/animal
name = "animal control closet"
req_access = list(access_surgery)
starts_with = list(
/obj/item/device/assembly/signaler,
/obj/item/device/radio/electropack = 3)
/obj/structure/closet/secure_closet/chemical
name = "chemical closet"
desc = "Store dangerous chemicals in here."
req_access = list(access_chemistry)
closet_appearance = /decl/closet_appearance/secure_closet/medical/chemistry
starts_with = list(
/obj/item/weapon/storage/box/pillbottles = 2,
/obj/item/weapon/storage/box/beakers,
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/reagent_containers/dropper = 2,
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2,
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2,
/obj/item/weapon/storage/fancy/vials) //VOREStation Add
/obj/structure/closet/secure_closet/psych
name = "psychiatric cabinet"
desc = "Store psychology tools and medicines in here."
req_access = list(access_psychiatrist)
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/under/rank/psych,
/obj/item/clothing/under/rank/psych/turtleneck,
/obj/item/clothing/suit/straight_jacket,
/obj/item/weapon/reagent_containers/glass/bottle/stoxin,
/obj/item/weapon/reagent_containers/syringe,
/obj/item/weapon/storage/pill_bottle/citalopram,
/obj/item/weapon/reagent_containers/pill/methylphenidate,
/obj/item/weapon/clipboard,
/obj/item/weapon/folder/white,
/obj/item/device/taperecorder,
/obj/item/device/tape/random = 3,
/obj/item/device/camera,
/obj/item/toy/plushie/therapy/blue)
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
desc = "It's a secure wall-mounted storage unit for first aid supplies."
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = TRUE
density = FALSE
wall_mounted = 1
store_mobs = 0
req_access = list(access_medical_equip)
closet_appearance = /decl/closet_appearance/wall/medical
/obj/structure/closet/secure_closet/medical_wall/pills
name = "pill cabinet"
starts_with = list(
/obj/item/weapon/storage/pill_bottle/tramadol,
/obj/item/weapon/storage/pill_bottle/antitox,
/obj/item/weapon/storage/pill_bottle/carbon,
/obj/random/medical/pillbottle)
/obj/structure/closet/secure_closet/medical_wall/anesthetics
name = "anesthetics wall closet"
desc = "Used to knock people out."
req_access = list(access_surgery)
starts_with = list(
/obj/item/weapon/tank/anesthetic = 3,
/obj/item/clothing/mask/breath/medical = 3)
/obj/structure/closet/secure_closet/medical1
name = "medicine closet"
desc = "Filled with medical junk."
req_access = list(access_medical)
closet_appearance = /decl/closet_appearance/secure_closet/medical/alt
starts_with = list(
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/reagent_containers/dropper = 2,
/obj/item/weapon/reagent_containers/glass/beaker = 2,
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2,
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2)
/obj/structure/closet/secure_closet/medical2
name = "anesthetics closet"
desc = "Used to knock people out."
req_access = list(access_surgery)
closet_appearance = /decl/closet_appearance/secure_closet/medical
starts_with = list(
/obj/item/weapon/tank/anesthetic = 3,
/obj/item/clothing/mask/breath/medical = 3)
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
req_access = list(access_medical_equip)
closet_appearance = /decl/closet_appearance/secure_closet/medical/doctor
starts_with = list(
/obj/item/clothing/under/rank/medical,
/obj/item/clothing/under/rank/nurse,
/obj/item/clothing/under/rank/orderly,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/shoes/white,
/obj/item/weapon/cartridge/medical,
/obj/item/device/radio/headset/headset_med,
/obj/item/device/radio/headset/headset_med/alt,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/alt,
/obj/item/clothing/shoes/boots/winter/medical,
/obj/item/clothing/under/rank/nursesuit,
/obj/item/clothing/head/nursehat,
/obj/item/weapon/storage/box/freezer = 3,
/obj/item/weapon/storage/belt/medical) //VOREStation Add
/obj/structure/closet/secure_closet/medical3/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/medic
else
starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs
starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
starts_with += /obj/item/clothing/head/surgery/navyblue
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs
starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
starts_with += /obj/item/clothing/head/surgery/navyblue
return ..()
/obj/structure/closet/secure_closet/paramedic
name = "paramedic locker"
desc = "Supplies for a first responder."
req_access = list(access_medical_equip)
closet_appearance = /decl/closet_appearance/secure_closet/medical/paramedic
starts_with = list(
/obj/item/weapon/storage/backpack/dufflebag/emt,
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,
/obj/item/weapon/storage/belt/medical/emt,
/obj/item/clothing/mask/gas,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/suit/storage/toggle/labcoat/emt,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/para,
/obj/item/clothing/shoes/boots/winter/medical,
/obj/item/device/radio/headset/headset_med/alt,
/obj/item/weapon/cartridge/medical,
/obj/item/weapon/storage/briefcase/inflatable,
/obj/item/device/flashlight,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/clothing/glasses/hud/health,
/obj/item/device/healthanalyzer,
/obj/item/device/radio/off,
/obj/random/medical,
/obj/item/weapon/tool/crowbar,
/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/storage/box/freezer,
/obj/item/clothing/accessory/storage/white_vest,
/obj/item/taperoll/medical)
/obj/structure/closet/secure_closet/CMO
name = "chief medical officer's locker"
req_access = list(access_cmo)
closet_appearance = /decl/closet_appearance/secure_closet/cmo
starts_with = list(
/obj/item/clothing/under/rank/chief_medical_officer,
/obj/item/clothing/under/rank/chief_medical_officer/skirt,
/obj/item/clothing/suit/storage/toggle/labcoat/cmo,
/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
/obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo,
/obj/item/weapon/cartridge/cmo,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/under/rank/neo_cmo,
/obj/item/clothing/under/rank/neo_cmo_skirt,
/obj/item/clothing/under/rank/neo_cmo_turtle,
/obj/item/clothing/under/rank/neo_cmo_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmo_gorka,
/obj/item/device/radio/headset/heads/cmo,
/obj/item/device/radio/headset/heads/cmo/alt,
/obj/item/device/flash,
/obj/item/weapon/reagent_containers/hypospray/vial,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/cmo,
/obj/item/clothing/shoes/boots/winter/medical,
/obj/item/clothing/head/beret/medical/cmo,
/obj/item/clothing/head/beret/medical/cmo/blue,
/obj/item/weapon/storage/box/freezer,
/obj/item/clothing/mask/gas,
/obj/item/taperoll/medical,
/obj/item/clothing/suit/bio_suit/cmo,
/obj/item/clothing/head/bio_hood/cmo,
/obj/item/clothing/shoes/white,
/obj/item/weapon/reagent_containers/glass/beaker/vial, //VOREStation Add
/obj/item/weapon/storage/belt/medical) //VOREStation Add
/obj/structure/closet/secure_closet/CMO/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/medic
else
starts_with += /obj/item/weapon/storage/backpack/satchel/med
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
switch(pick("blue", "green", "purple", "black", "navyblue"))
if ("blue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs
starts_with += /obj/item/clothing/head/surgery/blue
if ("green")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/green
starts_with += /obj/item/clothing/head/surgery/green
if ("purple")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/purple
starts_with += /obj/item/clothing/head/surgery/purple
if ("black")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/black
starts_with += /obj/item/clothing/head/surgery/black
if ("navyblue")
starts_with += /obj/item/clothing/under/rank/medical/scrubs/navyblue
starts_with += /obj/item/clothing/head/surgery/navyblue
return ..()
/obj/structure/closet/secure_closet/animal
name = "animal control closet"
req_access = list(access_surgery)
starts_with = list(
/obj/item/device/assembly/signaler,
/obj/item/device/radio/electropack = 3)
/obj/structure/closet/secure_closet/chemical
name = "chemical closet"
desc = "Store dangerous chemicals in here."
req_access = list(access_chemistry)
closet_appearance = /decl/closet_appearance/secure_closet/medical/chemistry
starts_with = list(
/obj/item/weapon/storage/box/pillbottles = 2,
/obj/item/weapon/storage/box/beakers,
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/reagent_containers/dropper = 2,
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 2,
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 2,
/obj/item/weapon/storage/fancy/vials) //VOREStation Add
/obj/structure/closet/secure_closet/psych
name = "psychiatric cabinet"
desc = "Store psychology tools and medicines in here."
req_access = list(access_psychiatrist)
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/under/rank/psych,
/obj/item/clothing/under/rank/psych/turtleneck,
/obj/item/clothing/suit/straight_jacket,
/obj/item/weapon/reagent_containers/glass/bottle/stoxin,
/obj/item/weapon/reagent_containers/syringe,
/obj/item/weapon/storage/pill_bottle/citalopram,
/obj/item/weapon/reagent_containers/pill/methylphenidate,
/obj/item/weapon/clipboard,
/obj/item/weapon/folder/white,
/obj/item/device/taperecorder,
/obj/item/device/tape/random = 3,
/obj/item/device/camera,
/obj/item/toy/plushie/therapy/blue)
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
desc = "It's a secure wall-mounted storage unit for first aid supplies."
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = TRUE
density = FALSE
wall_mounted = 1
store_mobs = 0
req_access = list(access_medical_equip)
closet_appearance = /decl/closet_appearance/wall/medical
/obj/structure/closet/secure_closet/medical_wall/pills
name = "pill cabinet"
starts_with = list(
/obj/item/weapon/storage/pill_bottle/tramadol,
/obj/item/weapon/storage/pill_bottle/antitox,
/obj/item/weapon/storage/pill_bottle/carbon,
/obj/random/medical/pillbottle)
/obj/structure/closet/secure_closet/medical_wall/anesthetics
name = "anesthetics wall closet"
desc = "Used to knock people out."
req_access = list(access_surgery)
starts_with = list(
/obj/item/weapon/tank/anesthetic = 3,
/obj/item/clothing/mask/breath/medical = 3)
@@ -1,115 +1,115 @@
/obj/structure/closet/secure_closet/personal
name = "personal closet"
desc = "It's a secure locker for personnel. The first card swiped gains control."
req_access = list(access_all_personal_lockers)
var/registered_name = null
/* //VOREStation Removal
starts_with = list(
/obj/item/device/radio/headset)
*/
/obj/structure/closet/secure_closet/personal/Initialize()
/* //VOREStation Removal
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack
else
starts_with += /obj/item/weapon/storage/backpack/satchel/norm
*/
return ..()
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
closet_appearance = /decl/closet_appearance/secure_closet/patient
starts_with = list(
/obj/item/clothing/under/medigown,
/obj/item/clothing/under/color/white,
/obj/item/clothing/shoes/white)
/obj/structure/closet/secure_closet/personal/cabinet
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/weapon/storage/backpack/satchel/withwallet,
/obj/item/device/radio/headset
)
/obj/structure/closet/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (src.opened)
if(istype(W, /obj/item/weapon/storage/laundry_basket))
return ..(W,user)
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
if(large)
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
else
to_chat(user, "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>")
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
user.drop_item()
if(W)
W.forceMove(loc)
else if(W.GetID())
var/obj/item/weapon/card/id/I = W.GetID()
if(src.broken)
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
return
if(!I || !I.registered_name) return
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.registered_name)
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/weapon/melee/energy/blade))
if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [W]!", "You hear metal being sliced and sparks flying."))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src, "sparks", 50, 1)
else
to_chat(user, "<span class='warning'>Access Denied</span>")
update_icon()
/obj/structure/closet/secure_closet/personal/emag_act(var/remaining_charges, var/mob/user, var/visual_feedback, var/audible_feedback)
if(!broken)
broken = 1
locked = 0
desc = "It appears to be broken."
update_icon()
if(visual_feedback)
visible_message("<span class='warning'>[visual_feedback]</span>", "<span class='warning'>[audible_feedback]</span>")
return 1
/obj/structure/closet/secure_closet/personal/verb/reset()
set src in oview(1) // One square distance
set category = "Object"
set name = "Reset Lock"
if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(ishuman(usr))
src.add_fingerprint(usr)
if (src.locked || !src.registered_name)
to_chat(usr, "<span class='warning'>You need to unlock it first.</span>")
else if (src.broken)
to_chat(usr, "<span class='warning'>It appears to be broken.</span>")
else
if (src.opened)
if(!src.close())
return
src.locked = 1
update_icon()
src.registered_name = null
src.desc = "It's a secure locker for personnel. The first card swiped gains control."
/obj/structure/closet/secure_closet/personal
name = "personal closet"
desc = "It's a secure locker for personnel. The first card swiped gains control."
req_access = list(access_all_personal_lockers)
var/registered_name = null
/* //VOREStation Removal
starts_with = list(
/obj/item/device/radio/headset)
*/
/obj/structure/closet/secure_closet/personal/Initialize()
/* //VOREStation Removal
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack
else
starts_with += /obj/item/weapon/storage/backpack/satchel/norm
*/
return ..()
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
closet_appearance = /decl/closet_appearance/secure_closet/patient
starts_with = list(
/obj/item/clothing/under/medigown,
/obj/item/clothing/under/color/white,
/obj/item/clothing/shoes/white)
/obj/structure/closet/secure_closet/personal/cabinet
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/weapon/storage/backpack/satchel/withwallet,
/obj/item/device/radio/headset
)
/obj/structure/closet/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (src.opened)
if(istype(W, /obj/item/weapon/storage/laundry_basket))
return ..(W,user)
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
if(large)
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
else
to_chat(user, "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>")
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
user.drop_item()
if(W)
W.forceMove(loc)
else if(W.GetID())
var/obj/item/weapon/card/id/I = W.GetID()
if(src.broken)
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
return
if(!I || !I.registered_name) return
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.registered_name)
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/weapon/melee/energy/blade))
if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [W]!", "You hear metal being sliced and sparks flying."))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src, "sparks", 50, 1)
else
to_chat(user, "<span class='warning'>Access Denied</span>")
update_icon()
/obj/structure/closet/secure_closet/personal/emag_act(var/remaining_charges, var/mob/user, var/visual_feedback, var/audible_feedback)
if(!broken)
broken = 1
locked = 0
desc = "It appears to be broken."
update_icon()
if(visual_feedback)
visible_message("<span class='warning'>[visual_feedback]</span>", "<span class='warning'>[audible_feedback]</span>")
return 1
/obj/structure/closet/secure_closet/personal/verb/reset()
set src in oview(1) // One square distance
set category = "Object"
set name = "Reset Lock"
if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(ishuman(usr))
src.add_fingerprint(usr)
if (src.locked || !src.registered_name)
to_chat(usr, "<span class='warning'>You need to unlock it first.</span>")
else if (src.broken)
to_chat(usr, "<span class='warning'>It appears to be broken.</span>")
else
if (src.opened)
if(!src.close())
return
src.locked = 1
update_icon()
src.registered_name = null
src.desc = "It's a secure locker for personnel. The first card swiped gains control."
@@ -1,93 +1,93 @@
/obj/structure/closet/secure_closet/scientist
name = "scientist's locker"
req_access = list(access_tox_storage)
closet_appearance = /decl/closet_appearance/secure_closet/science
starts_with = list(
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/shoes/white,
/obj/item/device/radio/headset/headset_sci,
/obj/item/weapon/tank/air,
/obj/item/clothing/mask/gas,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/shoes/boots/winter/science)
/obj/structure/closet/secure_closet/scientist/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/toxins
return ..()
/obj/structure/closet/secure_closet/RD
name = "research director's locker"
req_access = list(access_rd)
closet_appearance = /decl/closet_appearance/secure_closet/science/rd
starts_with = list(
/obj/item/clothing/suit/bio_suit/scientist,
/obj/item/clothing/head/bio_hood/scientist,
/obj/item/clothing/under/rank/research_director,
/obj/item/clothing/under/rank/research_director/rdalt,
/obj/item/clothing/under/rank/research_director/dress_rd,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/labcoat/rd,
/obj/item/clothing/under/rank/neo_rd_turtle,
/obj/item/clothing/under/rank/neo_rd_turtle_skirt,
/obj/item/clothing/under/rank/neo_rd_suit,
/obj/item/clothing/under/rank/neo_rd_suit_skirt,
/obj/item/clothing/under/rank/neo_rd_gorka,
/obj/item/weapon/cartridge/rd,
/obj/item/clothing/shoes/white,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/device/radio/headset/heads/rd,
/obj/item/device/radio/headset/heads/rd/alt,
/obj/item/weapon/tank/air,
/obj/item/clothing/mask/gas,
/obj/item/device/flash,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/suit/storage/hooded/wintercoat/science/rd,
/obj/item/clothing/shoes/boots/winter/science,
/obj/item/clothing/head/beret/science/rd,
/obj/item/weapon/bluespace_harpoon) //VOREStation Add
/obj/structure/closet/secure_closet/xenoarchaeologist
name = "Xenoarchaeologist Locker"
req_access = list(access_tox_storage)
closet_appearance = /decl/closet_appearance/secure_closet/science/xenoarch
starts_with = list(
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/shoes/white,
/obj/item/weapon/melee/umbrella,
/obj/item/clothing/glasses/science,
/obj/item/device/radio/headset/headset_sci,
/obj/item/weapon/storage/belt/archaeology,
/obj/item/weapon/storage/excavation)
/obj/structure/closet/excavation
name = "Excavation tools"
closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools/xenoarch
starts_with = list(
/obj/item/weapon/storage/belt/archaeology,
/obj/item/weapon/storage/excavation,
/obj/item/device/flashlight/lantern,
/obj/item/device/ano_scanner,
/obj/item/device/depth_scanner,
/obj/item/device/core_sampler,
/obj/item/device/gps,
/obj/item/device/beacon_locator,
/obj/item/device/radio/beacon,
/obj/item/clothing/glasses/meson,
/obj/item/weapon/pickaxe,
/obj/item/device/measuring_tape,
/obj/item/weapon/pickaxe/hand,
/obj/item/weapon/storage/bag/fossils,
/obj/item/weapon/hand_labeler)
/obj/structure/closet/secure_closet/scientist
name = "scientist's locker"
req_access = list(access_tox_storage)
closet_appearance = /decl/closet_appearance/secure_closet/science
starts_with = list(
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/shoes/white,
/obj/item/device/radio/headset/headset_sci,
/obj/item/weapon/tank/air,
/obj/item/clothing/mask/gas,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/shoes/boots/winter/science)
/obj/structure/closet/secure_closet/scientist/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/toxins
return ..()
/obj/structure/closet/secure_closet/RD
name = "research director's locker"
req_access = list(access_rd)
closet_appearance = /decl/closet_appearance/secure_closet/science/rd
starts_with = list(
/obj/item/clothing/suit/bio_suit/scientist,
/obj/item/clothing/head/bio_hood/scientist,
/obj/item/clothing/under/rank/research_director,
/obj/item/clothing/under/rank/research_director/rdalt,
/obj/item/clothing/under/rank/research_director/dress_rd,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/labcoat/rd,
/obj/item/clothing/under/rank/neo_rd_turtle,
/obj/item/clothing/under/rank/neo_rd_turtle_skirt,
/obj/item/clothing/under/rank/neo_rd_suit,
/obj/item/clothing/under/rank/neo_rd_suit_skirt,
/obj/item/clothing/under/rank/neo_rd_gorka,
/obj/item/weapon/cartridge/rd,
/obj/item/clothing/shoes/white,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/device/radio/headset/heads/rd,
/obj/item/device/radio/headset/heads/rd/alt,
/obj/item/weapon/tank/air,
/obj/item/clothing/mask/gas,
/obj/item/device/flash,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/suit/storage/hooded/wintercoat/science/rd,
/obj/item/clothing/shoes/boots/winter/science,
/obj/item/clothing/head/beret/science/rd,
/obj/item/weapon/bluespace_harpoon) //VOREStation Add
/obj/structure/closet/secure_closet/xenoarchaeologist
name = "Xenoarchaeologist Locker"
req_access = list(access_tox_storage)
closet_appearance = /decl/closet_appearance/secure_closet/science/xenoarch
starts_with = list(
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/shoes/white,
/obj/item/weapon/melee/umbrella,
/obj/item/clothing/glasses/science,
/obj/item/device/radio/headset/headset_sci,
/obj/item/weapon/storage/belt/archaeology,
/obj/item/weapon/storage/excavation)
/obj/structure/closet/excavation
name = "Excavation tools"
closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools/xenoarch
starts_with = list(
/obj/item/weapon/storage/belt/archaeology,
/obj/item/weapon/storage/excavation,
/obj/item/device/flashlight/lantern,
/obj/item/device/ano_scanner,
/obj/item/device/depth_scanner,
/obj/item/device/core_sampler,
/obj/item/device/gps,
/obj/item/device/beacon_locator,
/obj/item/device/radio/beacon,
/obj/item/clothing/glasses/meson,
/obj/item/weapon/pickaxe,
/obj/item/device/measuring_tape,
/obj/item/weapon/pickaxe/hand,
/obj/item/weapon/storage/bag/fossils,
/obj/item/weapon/hand_labeler)
@@ -1,158 +1,158 @@
/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 = TRUE
opened = 0
var/locked = 1
var/broken = 0
var/large = 1
wall_mounted = 0 //never solid (You can always pass over it)
health = 200
closet_appearance = /decl/closet_appearance/secure_closet
/obj/structure/closet/secure_closet/can_open()
if(locked)
return 0
return ..()
/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_station_access())
..()
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
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(src, 'sound/machines/click.ogg', 15, 1, -3)
for(var/mob/O in viewers(user, 3))
if((O.client && !( O.blinded )))
to_chat(O, "<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/weapon/W as obj, mob/user as mob)
if(W.has_tool_quality(TOOL_WRENCH))
if(opened)
if(anchored)
user.visible_message("\The [user] begins unsecuring \the [src] from the floor.", "You start unsecuring \the [src] from the floor.")
else
user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.")
if(do_after(user, 20 * W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured \the [src]!</span>")
anchored = !anchored
return
else
to_chat(user, "<span class='notice'>You can't reach the anchoring bolts when the door is closed!</span>")
else if(opened)
if(istype(W, /obj/item/weapon/storage/laundry_basket))
return ..(W,user)
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
if(large)
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
else
to_chat(user, "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>")
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
user.drop_item()
if(W)
W.forceMove(loc)
else if(istype(W, /obj/item/weapon/melee/energy/blade))
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, loc)
spark_system.start()
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src, "sparks", 50, 1)
else if(istype(W,/obj/item/weapon/packageWrap) || W.has_tool_quality(TOOL_WELDER))
return ..(W,user)
else
togglelock(user)
/obj/structure/closet/secure_closet/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
if(!broken)
broken = 1
locked = 0
desc = "It appears to be broken."
if(visual_feedback)
visible_message(visual_feedback, audible_feedback)
else if(user && emag_source)
visible_message("<span class='warning'>\The [src] has been broken by \the [user] with \an [emag_source]!</span>", "You hear a faint electrical spark.")
else
visible_message("<span class='warning'>\The [src] sparks and breaks open!</span>", "You hear a faint electrical spark.")
update_icon()
return 1
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
add_fingerprint(user)
if(locked)
togglelock(user)
else
toggle(user)
/obj/structure/closet/secure_closet/AltClick()
..()
verb_togglelock()
/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.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(ishuman(usr) || isrobot(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()
if(opened)
icon_state = "open"
else
if(broken)
icon_state = "closed_emagged[sealed ? "_welded" : ""]"
else
if(locked)
icon_state = "closed_locked[sealed ? "_welded" : ""]"
else
icon_state = "closed_unlocked[sealed ? "_welded" : ""]"
/obj/structure/closet/secure_closet/req_breakout()
if(!opened && locked) return 1
return ..() //It's a secure closet, but isn't locked.
/obj/structure/closet/secure_closet/break_open()
desc += " It appears to be broken."
broken = 1
locked = 0
..()
/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 = TRUE
opened = 0
var/locked = 1
var/broken = 0
var/large = 1
wall_mounted = 0 //never solid (You can always pass over it)
health = 200
closet_appearance = /decl/closet_appearance/secure_closet
/obj/structure/closet/secure_closet/can_open()
if(locked)
return 0
return ..()
/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_station_access())
..()
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
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(src, 'sound/machines/click.ogg', 15, 1, -3)
for(var/mob/O in viewers(user, 3))
if((O.client && !( O.blinded )))
to_chat(O, "<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/weapon/W as obj, mob/user as mob)
if(W.has_tool_quality(TOOL_WRENCH))
if(opened)
if(anchored)
user.visible_message("\The [user] begins unsecuring \the [src] from the floor.", "You start unsecuring \the [src] from the floor.")
else
user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.")
if(do_after(user, 20 * W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured \the [src]!</span>")
anchored = !anchored
return
else
to_chat(user, "<span class='notice'>You can't reach the anchoring bolts when the door is closed!</span>")
else if(opened)
if(istype(W, /obj/item/weapon/storage/laundry_basket))
return ..(W,user)
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
if(large)
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
else
to_chat(user, "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>")
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
user.drop_item()
if(W)
W.forceMove(loc)
else if(istype(W, /obj/item/weapon/melee/energy/blade))
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, loc)
spark_system.start()
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src, "sparks", 50, 1)
else if(istype(W,/obj/item/weapon/packageWrap) || W.has_tool_quality(TOOL_WELDER))
return ..(W,user)
else
togglelock(user)
/obj/structure/closet/secure_closet/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
if(!broken)
broken = 1
locked = 0
desc = "It appears to be broken."
if(visual_feedback)
visible_message(visual_feedback, audible_feedback)
else if(user && emag_source)
visible_message("<span class='warning'>\The [src] has been broken by \the [user] with \an [emag_source]!</span>", "You hear a faint electrical spark.")
else
visible_message("<span class='warning'>\The [src] sparks and breaks open!</span>", "You hear a faint electrical spark.")
update_icon()
return 1
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
add_fingerprint(user)
if(locked)
togglelock(user)
else
toggle(user)
/obj/structure/closet/secure_closet/AltClick()
..()
verb_togglelock()
/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.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
return
if(ishuman(usr) || isrobot(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()
if(opened)
icon_state = "open"
else
if(broken)
icon_state = "closed_emagged[sealed ? "_welded" : ""]"
else
if(locked)
icon_state = "closed_locked[sealed ? "_welded" : ""]"
else
icon_state = "closed_unlocked[sealed ? "_welded" : ""]"
/obj/structure/closet/secure_closet/req_breakout()
if(!opened && locked) return 1
return ..() //It's a secure closet, but isn't locked.
/obj/structure/closet/secure_closet/break_open()
desc += " It appears to be broken."
broken = 1
locked = 0
..()
@@ -1,325 +1,325 @@
/obj/structure/closet/secure_closet/captains
name = "site manager's locker"
req_access = list(access_captain)
closet_appearance = /decl/closet_appearance/secure_closet/command
starts_with = list(
/obj/item/weapon/storage/backpack/dufflebag/captain,
/obj/item/clothing/head/helmet,
/obj/item/clothing/suit/storage/vest,
/obj/item/weapon/cartridge/captain,
/obj/item/weapon/storage/lockbox/medal,
/obj/item/device/radio/headset/heads/captain,
/obj/item/device/radio/headset/heads/captain/alt,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/melee/telebaton,
/obj/item/device/flash,
/obj/item/weapon/storage/box/ids)
/obj/structure/closet/secure_closet/hop
name = "head of personnel's locker"
req_access = list(access_hop)
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
starts_with = list(
/obj/item/clothing/suit/storage/vest,
/obj/item/clothing/head/helmet,
/obj/item/weapon/cartridge/hop,
/obj/item/device/radio/headset/heads/hop,
/obj/item/device/radio/headset/heads/hop/alt,
/obj/item/weapon/storage/box/ids = 2,
/obj/item/weapon/gun/energy/gun/compact,
/obj/item/weapon/storage/box/commandkeys,
/obj/item/weapon/storage/box/servicekeys,
/obj/item/device/flash)
/obj/structure/closet/secure_closet/hop2
name = "head of personnel's attire"
req_access = list(access_hop)
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
starts_with = list(
/obj/item/clothing/under/rank/head_of_personnel,
/obj/item/clothing/under/dress/dress_hop,
/obj/item/clothing/under/dress/dress_hr,
/obj/item/clothing/under/lawyer/female,
/obj/item/clothing/under/lawyer/black,
/obj/item/clothing/under/lawyer/black/skirt,
/obj/item/clothing/under/lawyer/red,
/obj/item/clothing/under/lawyer/red/skirt,
/obj/item/clothing/under/lawyer/oldman,
/obj/item/clothing/under/rank/neo_hop,
/obj/item/clothing/under/rank/neo_hop_skirt,
/obj/item/clothing/under/rank/neo_hop_parade_masc,
/obj/item/clothing/under/rank/neo_hop_parade_fem,
/obj/item/clothing/under/rank/neo_hop_turtle,
/obj/item/clothing/under/rank/neo_hop_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmd_gorka,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hopformal,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_civ_dep,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/shoes/white,
/obj/item/clothing/under/rank/head_of_personnel_whimsy,
/obj/item/clothing/head/caphat/hop,
/obj/item/clothing/under/suit_jacket/teal,
/obj/item/clothing/under/suit_jacket/teal/skirt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/suit/storage/hooded/wintercoat/hop,
/obj/item/clothing/head/caphat/hop/beret,
/obj/item/clothing/head/caphat/hop/beret/white)
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
req_access = list(access_hos)
storage_capacity = 2.6 * MOB_MEDIUM
closet_appearance = /decl/closet_appearance/secure_closet/security/hos
starts_with = list(
/obj/item/clothing/head/helmet/HoS,
/obj/item/clothing/head/helmet/HoS/hat,
/obj/item/clothing/suit/storage/vest/hos,
/obj/item/clothing/under/rank/head_of_security/jensen,
/obj/item/clothing/under/rank/head_of_security/corp,
/obj/item/clothing/suit/storage/vest/hoscoat/jensen,
/obj/item/clothing/suit/storage/vest/hoscoat,
/obj/item/clothing/head/helmet/dermal,
/obj/item/weapon/cartridge/hos,
/obj/item/device/radio/headset/heads/hos,
/obj/item/device/radio/headset/heads/hos/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/weapon/shield/riot,
/obj/item/weapon/shield/riot/tele,
/obj/item/weapon/storage/box/holobadge/hos,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/tool/crowbar/red,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/belt/security,
/obj/item/device/flash,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos,
/obj/item/weapon/rcd_ammo/large,
/obj/item/weapon/cell/device/weapon,
/obj/item/clothing/accessory/holster/waist,
/obj/item/weapon/melee/telebaton,
/obj/item/clothing/head/beret/sec/corporate/hos,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/suit/storage/hooded/wintercoat/security/hos,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/clothing/mask/gas/half,
/obj/item/clothing/mask/gas/sechailer/swat/hos)
/obj/structure/closet/secure_closet/hos/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
return ..()
/obj/structure/closet/secure_closet/warden
name = "warden's locker"
storage_capacity = 42
req_access = list(access_armory)
closet_appearance = /decl/closet_appearance/secure_closet/security/warden
starts_with = list(
/obj/item/clothing/suit/storage/vest/warden,
/obj/item/clothing/under/rank/warden,
/obj/item/clothing/under/rank/warden/corp,
/obj/item/clothing/suit/storage/vest/wardencoat,
/obj/item/clothing/suit/storage/vest/wardencoat/alt,
/obj/item/clothing/suit/storage/vest/wardencoat/alt2, //VOREStation Add,
/obj/item/clothing/head/helmet/dermal,
/obj/item/clothing/head/helmet/warden,
/obj/item/clothing/head/helmet/warden/hat,
/obj/item/clothing/under/rank/neo_warden_red,
/obj/item/clothing/under/rank/neo_warden_red_skirt,
/obj/item/clothing/under/rank/neo_warden_blue,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_bluewarden,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_warden_heavy,
/obj/item/clothing/under/rank/neo_sec_gorka,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/badge/holo/warden,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/belt/security,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/cell/device/weapon,
/obj/item/weapon/storage/box/holobadge,
/obj/item/clothing/head/beret/sec/corporate/warden,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/device/megaphone,
/obj/item/clothing/mask/gas/half,
/obj/item/clothing/mask/gas/sechailer/swat/warden)
/obj/structure/closet/secure_closet/warden/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
return ..()
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(access_brig)
closet_appearance = /decl/closet_appearance/secure_closet/security
starts_with = list(
/obj/item/clothing/suit/storage/vest/officer,
/obj/item/clothing/head/helmet,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/weapon/storage/belt/security,
/obj/item/device/flash,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/grenade/flashbang,
/obj/item/weapon/melee/baton/loaded,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/device/hailer,
/obj/item/device/flashlight/flare,
/obj/item/clothing/accessory/storage/black_vest,
/obj/item/clothing/head/soft/sec/corp,
/obj/item/clothing/under/rank/security/corp,
///obj/item/ammo_magazine/m45/rubber, //VOREStation Removal,
/obj/item/weapon/gun/energy/taser,
/obj/item/weapon/cell/device/weapon,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight)
/obj/structure/closet/secure_closet/security/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
if(prob(30))
starts_with += /obj/item/poster/nanotrasen
return ..()
/obj/structure/closet/secure_closet/security/cargo/Initialize()
starts_with += /obj/item/clothing/accessory/armband/cargo
starts_with += /obj/item/device/encryptionkey/headset_cargo
return ..()
/obj/structure/closet/secure_closet/security/engine/Initialize()
starts_with += /obj/item/clothing/accessory/armband/engine
starts_with += /obj/item/device/encryptionkey/headset_eng
return ..()
/obj/structure/closet/secure_closet/security/science/Initialize()
starts_with += /obj/item/clothing/accessory/armband/science
starts_with += /obj/item/device/encryptionkey/headset_sci
return ..()
/obj/structure/closet/secure_closet/security/med/Initialize()
starts_with += /obj/item/clothing/accessory/armband/medblue
starts_with += /obj/item/device/encryptionkey/headset_med
return ..()
/obj/structure/closet/secure_closet/detective
name = "detective's cabinet"
req_access = list(access_forensics_lockers)
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/accessory/badge/holo/detective,
/obj/item/clothing/gloves/black,
///obj/item/gunbox, // VOREStation Removal
/obj/item/gunbox/stun,
/obj/item/weapon/storage/belt/detective,
/obj/item/weapon/storage/box/evidence,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/clothing/suit/storage/vest/detective,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/holster/armpit,
/obj/item/device/flashlight/maglight,
/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,
/obj/item/weapon/storage/briefcase/crimekit,
/obj/item/device/taperecorder,
/obj/item/weapon/storage/bag/detective,
/obj/item/device/tape/random = 3)
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(access_captain)
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
starts_with = list(
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral = 2)
GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(access_brig)
closet_appearance = /decl/closet_appearance/secure_closet/brig
anchored = TRUE
var/id = null
starts_with = list(
/obj/item/clothing/under/color/prison,
/obj/item/clothing/shoes/orange)
/obj/structure/closet/secure_closet/posters
name = "morale storage"
req_access = list(access_security)
anchored = TRUE
starts_with = list(
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(access_lawyer)
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
starts_with = list(
/obj/item/clothing/shoes/brown,
/obj/item/weapon/paper/Court = 3,
/obj/item/weapon/pen,
/obj/item/clothing/suit/judgerobe,
/obj/item/clothing/head/powdered_wig,
/obj/item/weapon/storage/briefcase)
/obj/structure/closet/secure_closet/wall
name = "wall locker"
req_access = list(access_security)
closet_appearance = /decl/closet_appearance/wall
density = TRUE
//too small to put a man in
large = 0
/obj/structure/closet/secure_closet/captains
name = "site manager's locker"
req_access = list(access_captain)
closet_appearance = /decl/closet_appearance/secure_closet/command
starts_with = list(
/obj/item/weapon/storage/backpack/dufflebag/captain,
/obj/item/clothing/head/helmet,
/obj/item/clothing/suit/storage/vest,
/obj/item/weapon/cartridge/captain,
/obj/item/weapon/storage/lockbox/medal,
/obj/item/device/radio/headset/heads/captain,
/obj/item/device/radio/headset/heads/captain/alt,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/melee/telebaton,
/obj/item/device/flash,
/obj/item/weapon/storage/box/ids)
/obj/structure/closet/secure_closet/hop
name = "head of personnel's locker"
req_access = list(access_hop)
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
starts_with = list(
/obj/item/clothing/suit/storage/vest,
/obj/item/clothing/head/helmet,
/obj/item/weapon/cartridge/hop,
/obj/item/device/radio/headset/heads/hop,
/obj/item/device/radio/headset/heads/hop/alt,
/obj/item/weapon/storage/box/ids = 2,
/obj/item/weapon/gun/energy/gun/compact,
/obj/item/weapon/storage/box/commandkeys,
/obj/item/weapon/storage/box/servicekeys,
/obj/item/device/flash)
/obj/structure/closet/secure_closet/hop2
name = "head of personnel's attire"
req_access = list(access_hop)
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
starts_with = list(
/obj/item/clothing/under/rank/head_of_personnel,
/obj/item/clothing/under/dress/dress_hop,
/obj/item/clothing/under/dress/dress_hr,
/obj/item/clothing/under/lawyer/female,
/obj/item/clothing/under/lawyer/black,
/obj/item/clothing/under/lawyer/black/skirt,
/obj/item/clothing/under/lawyer/red,
/obj/item/clothing/under/lawyer/red/skirt,
/obj/item/clothing/under/lawyer/oldman,
/obj/item/clothing/under/rank/neo_hop,
/obj/item/clothing/under/rank/neo_hop_skirt,
/obj/item/clothing/under/rank/neo_hop_parade_masc,
/obj/item/clothing/under/rank/neo_hop_parade_fem,
/obj/item/clothing/under/rank/neo_hop_turtle,
/obj/item/clothing/under/rank/neo_hop_turtle_skirt,
/obj/item/clothing/under/rank/neo_cmd_gorka,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hopformal,
/obj/item/clothing/suit/storage/toggle/labcoat/neo_civ_dep,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/shoes/white,
/obj/item/clothing/under/rank/head_of_personnel_whimsy,
/obj/item/clothing/head/caphat/hop,
/obj/item/clothing/under/suit_jacket/teal,
/obj/item/clothing/under/suit_jacket/teal/skirt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/suit/storage/hooded/wintercoat/hop,
/obj/item/clothing/head/caphat/hop/beret,
/obj/item/clothing/head/caphat/hop/beret/white)
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
req_access = list(access_hos)
storage_capacity = 2.6 * MOB_MEDIUM
closet_appearance = /decl/closet_appearance/secure_closet/security/hos
starts_with = list(
/obj/item/clothing/head/helmet/HoS,
/obj/item/clothing/head/helmet/HoS/hat,
/obj/item/clothing/suit/storage/vest/hos,
/obj/item/clothing/under/rank/head_of_security/jensen,
/obj/item/clothing/under/rank/head_of_security/corp,
/obj/item/clothing/suit/storage/vest/hoscoat/jensen,
/obj/item/clothing/suit/storage/vest/hoscoat,
/obj/item/clothing/head/helmet/dermal,
/obj/item/weapon/cartridge/hos,
/obj/item/device/radio/headset/heads/hos,
/obj/item/device/radio/headset/heads/hos/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/weapon/shield/riot,
/obj/item/weapon/shield/riot/tele,
/obj/item/weapon/storage/box/holobadge/hos,
/obj/item/clothing/accessory/badge/holo/hos,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/tool/crowbar/red,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/belt/security,
/obj/item/device/flash,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos,
/obj/item/weapon/rcd_ammo/large,
/obj/item/weapon/cell/device/weapon,
/obj/item/clothing/accessory/holster/waist,
/obj/item/weapon/melee/telebaton,
/obj/item/clothing/head/beret/sec/corporate/hos,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/suit/storage/hooded/wintercoat/security/hos,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/clothing/mask/gas/half,
/obj/item/clothing/mask/gas/sechailer/swat/hos)
/obj/structure/closet/secure_closet/hos/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
return ..()
/obj/structure/closet/secure_closet/warden
name = "warden's locker"
storage_capacity = 42
req_access = list(access_armory)
closet_appearance = /decl/closet_appearance/secure_closet/security/warden
starts_with = list(
/obj/item/clothing/suit/storage/vest/warden,
/obj/item/clothing/under/rank/warden,
/obj/item/clothing/under/rank/warden/corp,
/obj/item/clothing/suit/storage/vest/wardencoat,
/obj/item/clothing/suit/storage/vest/wardencoat/alt,
/obj/item/clothing/suit/storage/vest/wardencoat/alt2, //VOREStation Add,
/obj/item/clothing/head/helmet/dermal,
/obj/item/clothing/head/helmet/warden,
/obj/item/clothing/head/helmet/warden/hat,
/obj/item/clothing/under/rank/neo_warden_red,
/obj/item/clothing/under/rank/neo_warden_red_skirt,
/obj/item/clothing/under/rank/neo_warden_blue,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_bluewarden,
/obj/item/clothing/suit/storage/vest/wardencoat/neo_warden_heavy,
/obj/item/clothing/under/rank/neo_sec_gorka,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/badge/holo/warden,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/storage/belt/security,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/melee/baton/loaded,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/cell/device/weapon,
/obj/item/weapon/storage/box/holobadge,
/obj/item/clothing/head/beret/sec/corporate/warden,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight,
/obj/item/device/megaphone,
/obj/item/clothing/mask/gas/half,
/obj/item/clothing/mask/gas/sechailer/swat/warden)
/obj/structure/closet/secure_closet/warden/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
return ..()
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(access_brig)
closet_appearance = /decl/closet_appearance/secure_closet/security
starts_with = list(
/obj/item/clothing/suit/storage/vest/officer,
/obj/item/clothing/head/helmet,
/obj/item/weapon/cartridge/security,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/weapon/storage/belt/security,
/obj/item/device/flash,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/grenade/flashbang,
/obj/item/weapon/melee/baton/loaded,
/obj/item/clothing/glasses/sunglasses/sechud,
/obj/item/taperoll/police,
/obj/item/device/hailer,
/obj/item/device/flashlight/flare,
/obj/item/clothing/accessory/storage/black_vest,
/obj/item/clothing/head/soft/sec/corp,
/obj/item/clothing/under/rank/security/corp,
///obj/item/ammo_magazine/m45/rubber, //VOREStation Removal,
/obj/item/weapon/gun/energy/taser,
/obj/item/weapon/cell/device/weapon,
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/shoes/boots/winter/security,
/obj/item/device/flashlight/maglight)
/obj/structure/closet/secure_closet/security/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
if(prob(30))
starts_with += /obj/item/poster/nanotrasen
return ..()
/obj/structure/closet/secure_closet/security/cargo/Initialize()
starts_with += /obj/item/clothing/accessory/armband/cargo
starts_with += /obj/item/device/encryptionkey/headset_cargo
return ..()
/obj/structure/closet/secure_closet/security/engine/Initialize()
starts_with += /obj/item/clothing/accessory/armband/engine
starts_with += /obj/item/device/encryptionkey/headset_eng
return ..()
/obj/structure/closet/secure_closet/security/science/Initialize()
starts_with += /obj/item/clothing/accessory/armband/science
starts_with += /obj/item/device/encryptionkey/headset_sci
return ..()
/obj/structure/closet/secure_closet/security/med/Initialize()
starts_with += /obj/item/clothing/accessory/armband/medblue
starts_with += /obj/item/device/encryptionkey/headset_med
return ..()
/obj/structure/closet/secure_closet/detective
name = "detective's cabinet"
req_access = list(access_forensics_lockers)
closet_appearance = /decl/closet_appearance/cabinet/secure
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/accessory/badge/holo/detective,
/obj/item/clothing/gloves/black,
///obj/item/gunbox, // VOREStation Removal
/obj/item/gunbox/stun,
/obj/item/weapon/storage/belt/detective,
/obj/item/weapon/storage/box/evidence,
/obj/item/device/radio/headset/headset_sec,
/obj/item/device/radio/headset/headset_sec/alt,
/obj/item/clothing/suit/storage/vest/detective,
/obj/item/taperoll/police,
/obj/item/clothing/accessory/holster/armpit,
/obj/item/device/flashlight/maglight,
/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,
/obj/item/weapon/storage/briefcase/crimekit,
/obj/item/device/taperecorder,
/obj/item/weapon/storage/bag/detective,
/obj/item/device/tape/random = 3)
/obj/structure/closet/secure_closet/injection
name = "lethal injections locker"
req_access = list(access_captain)
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
starts_with = list(
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral = 2)
GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(access_brig)
closet_appearance = /decl/closet_appearance/secure_closet/brig
anchored = TRUE
var/id = null
starts_with = list(
/obj/item/clothing/under/color/prison,
/obj/item/clothing/shoes/orange)
/obj/structure/closet/secure_closet/posters
name = "morale storage"
req_access = list(access_security)
anchored = TRUE
starts_with = list(
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen,
/obj/item/poster/nanotrasen)
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(access_lawyer)
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
starts_with = list(
/obj/item/clothing/shoes/brown,
/obj/item/weapon/paper/Court = 3,
/obj/item/weapon/pen,
/obj/item/clothing/suit/judgerobe,
/obj/item/clothing/head/powdered_wig,
/obj/item/weapon/storage/briefcase)
/obj/structure/closet/secure_closet/wall
name = "wall locker"
req_access = list(access_security)
closet_appearance = /decl/closet_appearance/wall
density = TRUE
//too small to put a man in
large = 0
@@ -1,132 +1,132 @@
/obj/structure/closet/statue
name = "statue"
desc = "An incredibly lifelike marble carving"
icon = 'icons/obj/statue.dmi'
icon_state = "human_male"
density = TRUE
anchored = TRUE
health = 0 //destroying the statue kills the mob within
blocks_emissive = EMISSIVE_BLOCK_UNIQUE
var/intialTox = 0 //these are here to keep the mob from taking damage from things that logically wouldn't affect a rock
var/intialFire = 0 //it's a little sloppy I know but it was this or the GODMODE flag. Lesser of two evils.
var/intialBrute = 0
var/intialOxy = 0
var/timer = 240 //eventually the person will be freed
/obj/structure/closet/statue/New(loc, var/mob/living/L)
if(L && (ishuman(L) || L.isMonkey() || iscorgi(L)))
if(L.buckled)
L.buckled = 0
L.anchored = FALSE
if(L.client)
L.client.perspective = EYE_PERSPECTIVE
L.client.eye = src
L.loc = src
L.sdisabilities |= MUTE
health = L.health + 100 //stoning damaged mobs will result in easier to shatter statues
intialTox = L.getToxLoss()
intialFire = L.getFireLoss()
intialBrute = L.getBruteLoss()
intialOxy = L.getOxyLoss()
if(ishuman(L))
name = "statue of [L.name]"
if(L.gender == "female")
icon_state = "human_female"
else if(L.isMonkey())
name = "statue of a monkey"
icon_state = "monkey"
else if(iscorgi(L))
name = "statue of a corgi"
icon_state = "corgi"
desc = "If it takes forever, I will wait for you..."
if(health == 0) //meaning if the statue didn't find a valid target
qdel(src)
return
START_PROCESSING(SSobj, src)
..()
/obj/structure/closet/statue/process()
timer--
for(var/mob/living/M in src) //Go-go gadget stasis field
M.setToxLoss(intialTox)
M.adjustFireLoss(intialFire - M.getFireLoss())
M.adjustBruteLoss(intialBrute - M.getBruteLoss())
M.setOxyLoss(intialOxy)
if (timer <= 0)
dump_contents()
STOP_PROCESSING(SSobj, src)
qdel(src)
/obj/structure/closet/statue/dump_contents()
for(var/obj/O in src)
O.loc = src.loc
for(var/mob/living/M in src)
M.loc = src.loc
M.sdisabilities &= ~MUTE
M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
/obj/structure/closet/statue/open()
return
/obj/structure/closet/statue/close()
return
/obj/structure/closet/statue/toggle()
return
/obj/structure/closet/statue/proc/check_health()
if(health <= 0)
for(var/mob/M in src)
shatter(M)
/obj/structure/closet/statue/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.get_structure_damage()
check_health()
return
/obj/structure/closet/statue/attack_generic(var/mob/user, damage, attacktext, environment_smash)
if(damage && environment_smash)
for(var/mob/M in src)
shatter(M)
/obj/structure/closet/statue/ex_act(severity)
for(var/mob/M in src)
M.ex_act(severity)
health -= 60 / severity
check_health()
/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob)
health -= I.force
user.do_attack_animation(src)
visible_message("<span class='danger'>[user] strikes [src] with [I].</span>")
check_health()
/obj/structure/closet/statue/MouseDrop_T()
return
/obj/structure/closet/statue/relaymove()
return
/obj/structure/closet/statue/attack_hand()
return
/obj/structure/closet/statue/verb_toggleopen()
return
/obj/structure/closet/statue/update_icon()
return
/obj/structure/closet/statue/proc/shatter(mob/user as mob)
if (user)
user.dust()
dump_contents()
visible_message("<span class='warning'>[src] shatters!.</span>")
qdel(src)
/obj/structure/closet/statue
name = "statue"
desc = "An incredibly lifelike marble carving"
icon = 'icons/obj/statue.dmi'
icon_state = "human_male"
density = TRUE
anchored = TRUE
health = 0 //destroying the statue kills the mob within
blocks_emissive = EMISSIVE_BLOCK_UNIQUE
var/intialTox = 0 //these are here to keep the mob from taking damage from things that logically wouldn't affect a rock
var/intialFire = 0 //it's a little sloppy I know but it was this or the GODMODE flag. Lesser of two evils.
var/intialBrute = 0
var/intialOxy = 0
var/timer = 240 //eventually the person will be freed
/obj/structure/closet/statue/New(loc, var/mob/living/L)
if(L && (ishuman(L) || L.isMonkey() || iscorgi(L)))
if(L.buckled)
L.buckled = 0
L.anchored = FALSE
if(L.client)
L.client.perspective = EYE_PERSPECTIVE
L.client.eye = src
L.loc = src
L.sdisabilities |= MUTE
health = L.health + 100 //stoning damaged mobs will result in easier to shatter statues
intialTox = L.getToxLoss()
intialFire = L.getFireLoss()
intialBrute = L.getBruteLoss()
intialOxy = L.getOxyLoss()
if(ishuman(L))
name = "statue of [L.name]"
if(L.gender == "female")
icon_state = "human_female"
else if(L.isMonkey())
name = "statue of a monkey"
icon_state = "monkey"
else if(iscorgi(L))
name = "statue of a corgi"
icon_state = "corgi"
desc = "If it takes forever, I will wait for you..."
if(health == 0) //meaning if the statue didn't find a valid target
qdel(src)
return
START_PROCESSING(SSobj, src)
..()
/obj/structure/closet/statue/process()
timer--
for(var/mob/living/M in src) //Go-go gadget stasis field
M.setToxLoss(intialTox)
M.adjustFireLoss(intialFire - M.getFireLoss())
M.adjustBruteLoss(intialBrute - M.getBruteLoss())
M.setOxyLoss(intialOxy)
if (timer <= 0)
dump_contents()
STOP_PROCESSING(SSobj, src)
qdel(src)
/obj/structure/closet/statue/dump_contents()
for(var/obj/O in src)
O.loc = src.loc
for(var/mob/living/M in src)
M.loc = src.loc
M.sdisabilities &= ~MUTE
M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
/obj/structure/closet/statue/open()
return
/obj/structure/closet/statue/close()
return
/obj/structure/closet/statue/toggle()
return
/obj/structure/closet/statue/proc/check_health()
if(health <= 0)
for(var/mob/M in src)
shatter(M)
/obj/structure/closet/statue/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.get_structure_damage()
check_health()
return
/obj/structure/closet/statue/attack_generic(var/mob/user, damage, attacktext, environment_smash)
if(damage && environment_smash)
for(var/mob/M in src)
shatter(M)
/obj/structure/closet/statue/ex_act(severity)
for(var/mob/M in src)
M.ex_act(severity)
health -= 60 / severity
check_health()
/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob)
health -= I.force
user.do_attack_animation(src)
visible_message("<span class='danger'>[user] strikes [src] with [I].</span>")
check_health()
/obj/structure/closet/statue/MouseDrop_T()
return
/obj/structure/closet/statue/relaymove()
return
/obj/structure/closet/statue/attack_hand()
return
/obj/structure/closet/statue/verb_toggleopen()
return
/obj/structure/closet/statue/update_icon()
return
/obj/structure/closet/statue/proc/shatter(mob/user as mob)
if (user)
user.dust()
dump_contents()
visible_message("<span class='warning'>[src] shatters!.</span>")
qdel(src)
@@ -1,121 +1,121 @@
/obj/structure/closet/syndicate
name = "armory closet"
desc = "Why is this here?"
closet_appearance = /decl/closet_appearance/tactical/alt
/obj/structure/closet/syndicate/personal
desc = "It's a storage unit for operative gear."
starts_with = list(
/obj/item/weapon/tank/jetpack/oxygen,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/under/syndicate,
/obj/item/clothing/head/helmet/space/void/merc,
/obj/item/clothing/suit/space/void/merc,
/obj/item/weapon/tool/crowbar/red,
/obj/item/weapon/cell/high,
/obj/item/weapon/card/id/syndicate,
/obj/item/device/multitool,
/obj/item/weapon/shield/energy,
/obj/item/clothing/shoes/magboots)
/obj/structure/closet/syndicate/suit
desc = "It's a storage unit for voidsuits."
starts_with = list(
/obj/item/weapon/tank/jetpack/oxygen,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/void/merc,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/head/helmet/space/void/merc)
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for nuclear-operative gear."
starts_with = list(
/obj/item/ammo_magazine/m10mm = 5,
/obj/item/weapon/storage/box/handcuffs,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/gun/energy/gun = 5,
/obj/item/weapon/pinpointer/nukeop = 5,
/obj/item/device/pda/syndicate,
/obj/item/device/radio/uplink)
/obj/structure/closet/syndicate/resources
desc = "An old, dusty locker."
/obj/structure/closet/syndicate/resources/Initialize()
. = ..()
if(!contents.len)
var/common_min = 30 //Minimum amount of minerals in the stack for common minerals
var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals
var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals
var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK
var/pickednum = rand(1, 50)
//Sad trombone
if(pickednum == 1)
var/obj/item/weapon/paper/P = new /obj/item/weapon/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/material/steel(src, rand(common_min, common_max))
//Glass (common ore)
if(pickednum >= 5)
new /obj/item/stack/material/glass(src, rand(common_min, common_max))
//Plasteel (common ore) Because it has a million more uses then phoron
if(pickednum >= 10)
new /obj/item/stack/material/plasteel(src, rand(common_min, common_max))
//Phoron (rare ore)
if(pickednum >= 15)
new /obj/item/stack/material/phoron(src, rand(rare_min, rare_max))
//Silver (rare ore)
if(pickednum >= 20)
new /obj/item/stack/material/silver(src, rand(rare_min, rare_max))
//Gold (rare ore)
if(pickednum >= 30)
new /obj/item/stack/material/gold(src, rand(rare_min, rare_max))
//Uranium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/material/uranium(src, rand(rare_min, rare_max))
//Diamond (rare HONK)
if(pickednum >= 45)
new /obj/item/stack/material/diamond(src, rand(rare_min, rare_max))
//Jetpack (You hit the jackpot!)
if(pickednum == 50)
new /obj/item/weapon/tank/jetpack/carbondioxide(src)
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
/obj/structure/closet/syndicate/resources/everything/Initialize()
var/list/resources = list(
/obj/item/stack/material/steel,
/obj/item/stack/material/glass,
/obj/item/stack/material/gold,
/obj/item/stack/material/silver,
/obj/item/stack/material/phoron,
/obj/item/stack/material/uranium,
/obj/item/stack/material/diamond,
/obj/item/stack/material/plasteel,
/obj/item/stack/rods
)
for(var/i = 0, i<2, i++)
for(var/res in resources)
new res(src, -1)
return ..()
/obj/structure/closet/syndicate
name = "armory closet"
desc = "Why is this here?"
closet_appearance = /decl/closet_appearance/tactical/alt
/obj/structure/closet/syndicate/personal
desc = "It's a storage unit for operative gear."
starts_with = list(
/obj/item/weapon/tank/jetpack/oxygen,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/under/syndicate,
/obj/item/clothing/head/helmet/space/void/merc,
/obj/item/clothing/suit/space/void/merc,
/obj/item/weapon/tool/crowbar/red,
/obj/item/weapon/cell/high,
/obj/item/weapon/card/id/syndicate,
/obj/item/device/multitool,
/obj/item/weapon/shield/energy,
/obj/item/clothing/shoes/magboots)
/obj/structure/closet/syndicate/suit
desc = "It's a storage unit for voidsuits."
starts_with = list(
/obj/item/weapon/tank/jetpack/oxygen,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/suit/space/void/merc,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/head/helmet/space/void/merc)
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for nuclear-operative gear."
starts_with = list(
/obj/item/ammo_magazine/m10mm = 5,
/obj/item/weapon/storage/box/handcuffs,
/obj/item/weapon/storage/box/flashbangs,
/obj/item/weapon/gun/energy/gun = 5,
/obj/item/weapon/pinpointer/nukeop = 5,
/obj/item/device/pda/syndicate,
/obj/item/device/radio/uplink)
/obj/structure/closet/syndicate/resources
desc = "An old, dusty locker."
/obj/structure/closet/syndicate/resources/Initialize()
. = ..()
if(!contents.len)
var/common_min = 30 //Minimum amount of minerals in the stack for common minerals
var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals
var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals
var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK
var/pickednum = rand(1, 50)
//Sad trombone
if(pickednum == 1)
var/obj/item/weapon/paper/P = new /obj/item/weapon/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/material/steel(src, rand(common_min, common_max))
//Glass (common ore)
if(pickednum >= 5)
new /obj/item/stack/material/glass(src, rand(common_min, common_max))
//Plasteel (common ore) Because it has a million more uses then phoron
if(pickednum >= 10)
new /obj/item/stack/material/plasteel(src, rand(common_min, common_max))
//Phoron (rare ore)
if(pickednum >= 15)
new /obj/item/stack/material/phoron(src, rand(rare_min, rare_max))
//Silver (rare ore)
if(pickednum >= 20)
new /obj/item/stack/material/silver(src, rand(rare_min, rare_max))
//Gold (rare ore)
if(pickednum >= 30)
new /obj/item/stack/material/gold(src, rand(rare_min, rare_max))
//Uranium (rare ore)
if(pickednum >= 40)
new /obj/item/stack/material/uranium(src, rand(rare_min, rare_max))
//Diamond (rare HONK)
if(pickednum >= 45)
new /obj/item/stack/material/diamond(src, rand(rare_min, rare_max))
//Jetpack (You hit the jackpot!)
if(pickednum == 50)
new /obj/item/weapon/tank/jetpack/carbondioxide(src)
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
/obj/structure/closet/syndicate/resources/everything/Initialize()
var/list/resources = list(
/obj/item/stack/material/steel,
/obj/item/stack/material/glass,
/obj/item/stack/material/gold,
/obj/item/stack/material/silver,
/obj/item/stack/material/phoron,
/obj/item/stack/material/uranium,
/obj/item/stack/material/diamond,
/obj/item/stack/material/plasteel,
/obj/item/stack/rods
)
for(var/i = 0, i<2, i++)
for(var/res in resources)
new res(src, -1)
return ..()
@@ -1,229 +1,229 @@
/* 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."
closet_appearance = /decl/closet_appearance/oxygen
/obj/structure/closet/emcloset/Initialize()
switch (pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10)))
//VOREStation Block Edit Start - Modified List
if ("small")
starts_with = list(
/obj/item/weapon/tank/emergency/oxygen = 2,
/obj/item/clothing/mask/breath = 2,
/obj/item/clothing/suit/space/emergency = 2,
/obj/item/clothing/head/helmet/space/emergency = 2)
if ("aid")
starts_with = list(
/obj/item/weapon/tank/emergency/oxygen,
/obj/item/weapon/storage/toolbox/emergency,
/obj/item/clothing/mask/breath,
/obj/item/clothing/suit/space/emergency,
/obj/item/clothing/head/helmet/space/emergency)
if ("tank")
starts_with = list(
/obj/item/weapon/tank/emergency/oxygen/engi = 2,
/obj/item/clothing/mask/breath = 2,
/obj/item/clothing/suit/space/emergency = 2,
/obj/item/clothing/head/helmet/space/emergency = 2)
if ("both")
starts_with = list(
/obj/item/weapon/storage/toolbox/emergency,
/obj/item/weapon/storage/firstaid/o2,
/obj/item/weapon/tank/emergency/oxygen/engi = 2,
/obj/item/clothing/mask/breath = 2,
/obj/item/clothing/suit/space/emergency = 2,
/obj/item/clothing/head/helmet/space/emergency = 2)
//VOREStation Block Edit End
return ..()
/obj/structure/closet/emcloset/legacy
starts_with = list(
/obj/item/weapon/tank/oxygen,
/obj/item/clothing/mask/gas)
/*
* Fire Closet
*/
/obj/structure/closet/firecloset
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
closet_appearance = /decl/closet_appearance/oxygen/fire
starts_with = list(
/obj/item/clothing/suit/fire,
/obj/item/clothing/mask/gas,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher,
/obj/item/clothing/head/hardhat/red)
/obj/structure/closet/firecloset/full
starts_with = list(
/obj/item/clothing/suit/fire,
/obj/item/clothing/mask/gas,
/obj/item/device/flashlight,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher,
/obj/item/clothing/head/hardhat/red)
/obj/structure/closet/firecloset/full/double
starts_with = list(
/obj/item/clothing/suit/fire = 2,
/obj/item/clothing/mask/gas = 2,
/obj/item/device/flashlight = 2,
/obj/item/weapon/tank/oxygen/red = 2,
/obj/item/weapon/extinguisher = 2,
/obj/item/clothing/head/hardhat/red = 2)
/obj/structure/closet/firecloset/full/atmos
name = "atmos fire-safety closet"
desc = "It's a storage unit for atmospheric fire-fighting supplies."
closet_appearance = /decl/closet_appearance/oxygen/fire/atmos
starts_with = list(
/obj/item/clothing/suit/fire/heavy,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher/atmo,
/obj/item/device/flashlight,
/obj/item/clothing/head/hardhat/firefighter/atmos)
/*
* Tool Closet
*/
/obj/structure/closet/toolcloset
name = "tool closet"
desc = "It's a storage unit for tools."
closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools
/obj/structure/closet/toolcloset/Initialize()
starts_with = list()
if(prob(40))
starts_with += /obj/item/clothing/suit/storage/hazardvest
if(prob(70))
starts_with += /obj/item/device/flashlight
if(prob(70))
starts_with += /obj/item/weapon/tool/screwdriver
if(prob(70))
starts_with += /obj/item/weapon/tool/wrench
if(prob(70))
starts_with += /obj/item/weapon/weldingtool
if(prob(70))
starts_with += /obj/item/weapon/tool/crowbar
if(prob(70))
starts_with += /obj/item/weapon/tool/wirecutters
if(prob(70))
starts_with += /obj/item/device/t_scanner
if(prob(20))
starts_with += /obj/item/weapon/storage/belt/utility
if(prob(30))
starts_with += /obj/item/stack/cable_coil/random
if(prob(30))
starts_with += /obj/item/stack/cable_coil/random
if(prob(30))
starts_with += /obj/item/stack/cable_coil/random
if(prob(20))
starts_with += /obj/item/device/multitool
if(prob(5))
starts_with += /obj/item/clothing/gloves/yellow
if(prob(40))
starts_with += /obj/item/clothing/head/hardhat
if(prob(30))
starts_with += /obj/item/weapon/reagent_containers/spray/windowsealant //VOREStation Add
return ..()
/*
* Radiation Closet
*/
/obj/structure/closet/radiation
name = "radiation suit closet"
desc = "It's a storage unit for rad-protective suits."
closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools/radiation
starts_with = list(
/obj/item/clothing/suit/radiation = 2,
/obj/item/clothing/head/radiation = 2,
/obj/item/device/geiger = 2)
/*
* Bombsuit closet
*/
/obj/structure/closet/bombcloset
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
closet_appearance = /decl/closet_appearance/bomb
starts_with = list(
/obj/item/clothing/suit/bomb_suit,
/obj/item/clothing/under/color/black,
/obj/item/clothing/shoes/black,
/obj/item/clothing/head/bomb_hood)
/obj/structure/closet/bombcloset/double
starts_with = list(
/obj/item/clothing/suit/bomb_suit = 2,
/obj/item/clothing/under/color/black = 2,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/head/bomb_hood = 2)
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
closet_appearance = /decl/closet_appearance/bomb/security
starts_with = list(
/obj/item/clothing/suit/bomb_suit/security,
/obj/item/clothing/under/rank/security,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/head/bomb_hood/security)
/*
* Hydrant
*/
/obj/structure/closet/hydrant //wall mounted fire closet
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon = 'icons/obj/closets/bases/wall.dmi'
closet_appearance = /decl/closet_appearance/wall/hydrant
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = TRUE
density = FALSE
wall_mounted = 1
store_mobs = 0
starts_with = list(
/obj/item/clothing/suit/fire/firefighter,
/obj/item/clothing/mask/gas,
/obj/item/device/flashlight,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher,
/obj/item/clothing/head/hardhat/red)
/*
* First Aid
*/
/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 = 'icons/obj/closets/bases/wall.dmi'
closet_appearance = /decl/closet_appearance/wall/medical
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = TRUE
density = FALSE
wall_mounted = 1
store_mobs = 0
/* 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."
closet_appearance = /decl/closet_appearance/oxygen
/obj/structure/closet/emcloset/Initialize()
switch (pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10)))
//VOREStation Block Edit Start - Modified List
if ("small")
starts_with = list(
/obj/item/weapon/tank/emergency/oxygen = 2,
/obj/item/clothing/mask/breath = 2,
/obj/item/clothing/suit/space/emergency = 2,
/obj/item/clothing/head/helmet/space/emergency = 2)
if ("aid")
starts_with = list(
/obj/item/weapon/tank/emergency/oxygen,
/obj/item/weapon/storage/toolbox/emergency,
/obj/item/clothing/mask/breath,
/obj/item/clothing/suit/space/emergency,
/obj/item/clothing/head/helmet/space/emergency)
if ("tank")
starts_with = list(
/obj/item/weapon/tank/emergency/oxygen/engi = 2,
/obj/item/clothing/mask/breath = 2,
/obj/item/clothing/suit/space/emergency = 2,
/obj/item/clothing/head/helmet/space/emergency = 2)
if ("both")
starts_with = list(
/obj/item/weapon/storage/toolbox/emergency,
/obj/item/weapon/storage/firstaid/o2,
/obj/item/weapon/tank/emergency/oxygen/engi = 2,
/obj/item/clothing/mask/breath = 2,
/obj/item/clothing/suit/space/emergency = 2,
/obj/item/clothing/head/helmet/space/emergency = 2)
//VOREStation Block Edit End
return ..()
/obj/structure/closet/emcloset/legacy
starts_with = list(
/obj/item/weapon/tank/oxygen,
/obj/item/clothing/mask/gas)
/*
* Fire Closet
*/
/obj/structure/closet/firecloset
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
closet_appearance = /decl/closet_appearance/oxygen/fire
starts_with = list(
/obj/item/clothing/suit/fire,
/obj/item/clothing/mask/gas,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher,
/obj/item/clothing/head/hardhat/red)
/obj/structure/closet/firecloset/full
starts_with = list(
/obj/item/clothing/suit/fire,
/obj/item/clothing/mask/gas,
/obj/item/device/flashlight,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher,
/obj/item/clothing/head/hardhat/red)
/obj/structure/closet/firecloset/full/double
starts_with = list(
/obj/item/clothing/suit/fire = 2,
/obj/item/clothing/mask/gas = 2,
/obj/item/device/flashlight = 2,
/obj/item/weapon/tank/oxygen/red = 2,
/obj/item/weapon/extinguisher = 2,
/obj/item/clothing/head/hardhat/red = 2)
/obj/structure/closet/firecloset/full/atmos
name = "atmos fire-safety closet"
desc = "It's a storage unit for atmospheric fire-fighting supplies."
closet_appearance = /decl/closet_appearance/oxygen/fire/atmos
starts_with = list(
/obj/item/clothing/suit/fire/heavy,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher/atmo,
/obj/item/device/flashlight,
/obj/item/clothing/head/hardhat/firefighter/atmos)
/*
* Tool Closet
*/
/obj/structure/closet/toolcloset
name = "tool closet"
desc = "It's a storage unit for tools."
closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools
/obj/structure/closet/toolcloset/Initialize()
starts_with = list()
if(prob(40))
starts_with += /obj/item/clothing/suit/storage/hazardvest
if(prob(70))
starts_with += /obj/item/device/flashlight
if(prob(70))
starts_with += /obj/item/weapon/tool/screwdriver
if(prob(70))
starts_with += /obj/item/weapon/tool/wrench
if(prob(70))
starts_with += /obj/item/weapon/weldingtool
if(prob(70))
starts_with += /obj/item/weapon/tool/crowbar
if(prob(70))
starts_with += /obj/item/weapon/tool/wirecutters
if(prob(70))
starts_with += /obj/item/device/t_scanner
if(prob(20))
starts_with += /obj/item/weapon/storage/belt/utility
if(prob(30))
starts_with += /obj/item/stack/cable_coil/random
if(prob(30))
starts_with += /obj/item/stack/cable_coil/random
if(prob(30))
starts_with += /obj/item/stack/cable_coil/random
if(prob(20))
starts_with += /obj/item/device/multitool
if(prob(5))
starts_with += /obj/item/clothing/gloves/yellow
if(prob(40))
starts_with += /obj/item/clothing/head/hardhat
if(prob(30))
starts_with += /obj/item/weapon/reagent_containers/spray/windowsealant //VOREStation Add
return ..()
/*
* Radiation Closet
*/
/obj/structure/closet/radiation
name = "radiation suit closet"
desc = "It's a storage unit for rad-protective suits."
closet_appearance = /decl/closet_appearance/secure_closet/engineering/tools/radiation
starts_with = list(
/obj/item/clothing/suit/radiation = 2,
/obj/item/clothing/head/radiation = 2,
/obj/item/device/geiger = 2)
/*
* Bombsuit closet
*/
/obj/structure/closet/bombcloset
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
closet_appearance = /decl/closet_appearance/bomb
starts_with = list(
/obj/item/clothing/suit/bomb_suit,
/obj/item/clothing/under/color/black,
/obj/item/clothing/shoes/black,
/obj/item/clothing/head/bomb_hood)
/obj/structure/closet/bombcloset/double
starts_with = list(
/obj/item/clothing/suit/bomb_suit = 2,
/obj/item/clothing/under/color/black = 2,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/head/bomb_hood = 2)
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
closet_appearance = /decl/closet_appearance/bomb/security
starts_with = list(
/obj/item/clothing/suit/bomb_suit/security,
/obj/item/clothing/under/rank/security,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/head/bomb_hood/security)
/*
* Hydrant
*/
/obj/structure/closet/hydrant //wall mounted fire closet
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon = 'icons/obj/closets/bases/wall.dmi'
closet_appearance = /decl/closet_appearance/wall/hydrant
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = TRUE
density = FALSE
wall_mounted = 1
store_mobs = 0
starts_with = list(
/obj/item/clothing/suit/fire/firefighter,
/obj/item/clothing/mask/gas,
/obj/item/device/flashlight,
/obj/item/weapon/tank/oxygen/red,
/obj/item/weapon/extinguisher,
/obj/item/clothing/head/hardhat/red)
/*
* First Aid
*/
/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 = 'icons/obj/closets/bases/wall.dmi'
closet_appearance = /decl/closet_appearance/wall/medical
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = TRUE
density = FALSE
wall_mounted = 1
store_mobs = 0
@@ -1,7 +1,7 @@
/obj/structure/closet/firecloset/Initialize()
starts_with += /obj/item/weapon/storage/toolbox/emergency
return ..()
/obj/structure/closet/hydrant/New()
starts_with += /obj/item/weapon/storage/toolbox/emergency
return ..()
/obj/structure/closet/firecloset/Initialize()
starts_with += /obj/item/weapon/storage/toolbox/emergency
return ..()
/obj/structure/closet/hydrant/New()
starts_with += /obj/item/weapon/storage/toolbox/emergency
return ..()
@@ -1,484 +1,484 @@
/obj/structure/closet/wardrobe
name = "wardrobe"
desc = "It's a storage unit for standard-issue attire."
closet_appearance = /decl/closet_appearance/wardrobe
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/red
starts_with = list(
/obj/item/clothing/under/rank/security = 3,
/obj/item/clothing/under/rank/security2 = 3,
/obj/item/clothing/under/rank/security/turtleneck = 3,
/obj/item/clothing/under/rank/security/skirt = 2,
/obj/item/clothing/shoes/boots/jackboots = 3,
/obj/item/clothing/head/soft/sec = 3,
/obj/item/clothing/head/beret/sec = 3,
/obj/item/clothing/head/beret/sec/corporate/officer = 3,
/obj/item/clothing/mask/bandana/red = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/security = 3,
/obj/item/clothing/accessory/armband = 3,
/obj/item/clothing/accessory/holster/waist = 3)
/obj/structure/closet/wardrobe/red/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
return ..()
/obj/structure/closet/wardrobe/detective
name = "detective wardrobe"
closet_appearance = /decl/closet_appearance/cabinet
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/head/det = 2,
/obj/item/clothing/head/det/grey = 2,
/obj/item/clothing/shoes/brown = 2,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/under/det = 2,
/obj/item/clothing/under/det/waistcoat = 2,
/obj/item/clothing/under/det/grey = 2,
/obj/item/clothing/under/det/grey/waistcoat = 2,
/obj/item/clothing/under/det/black = 2,
/obj/item/clothing/under/det/skirt,
/obj/item/clothing/under/det/corporate = 2,
/obj/item/clothing/suit/storage/det_trench = 2,
/obj/item/clothing/suit/storage/det_trench/grey = 2,
/obj/item/clothing/suit/storage/forensics/blue = 2,
/obj/item/clothing/suit/storage/forensics/red = 2)
/obj/structure/closet/wardrobe/pink
name = "pink wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/pink
starts_with = list(
/obj/item/clothing/under/color/pink = 3,
/obj/item/clothing/shoes/brown = 3)
/obj/structure/closet/wardrobe/black
name = "black wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/black
starts_with = list(
/obj/item/clothing/under/color/black = 3,
/obj/item/clothing/shoes/black = 3,
/obj/item/clothing/head/that = 3,
/obj/item/clothing/head/soft/black = 3,
/obj/item/clothing/mask/bandana = 3,
/obj/item/weapon/storage/backpack/messenger/black)
/obj/structure/closet/wardrobe/chaplain_black
name = "chapel wardrobe"
desc = "It's a storage unit for approved religious attire."
closet_appearance = /decl/closet_appearance/wardrobe/chapel
starts_with = list(
/obj/item/clothing/under/rank/chaplain,
/obj/item/clothing/shoes/black,
/obj/item/clothing/suit/nun,
/obj/item/clothing/head/nun_hood,
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie,
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout,
/obj/item/clothing/suit/holidaypriest,
/obj/item/clothing/under/wedding/bride_white,
/obj/item/weapon/storage/backpack/cultpack,
/obj/item/weapon/storage/fancy/candle_box = 2,
/obj/item/weapon/storage/fancy/whitecandle_box,
/obj/item/weapon/storage/fancy/blackcandle_box,
/obj/item/godfig = 2,
/obj/item/weapon/deck/tarot)
/obj/structure/closet/wardrobe/green
name = "green wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/green
starts_with = list(
/obj/item/clothing/under/color/green = 3,
/obj/item/clothing/shoes/green = 3,
/obj/item/clothing/head/soft/green = 3,
/obj/item/clothing/mask/bandana/green = 3)
/obj/structure/closet/wardrobe/xenos
name = "xenos wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/xenos
starts_with = list(
/obj/item/clothing/suit/unathi/mantle,
/obj/item/clothing/suit/unathi/robe,
/obj/item/clothing/shoes/sandal = 2,
/obj/item/clothing/shoes/footwraps = 2,
/obj/item/clothing/shoes/boots/winter = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat = 2)
/obj/structure/closet/wardrobe/orange
name = "prison wardrobe"
desc = "It's a storage unit for regulation prisoner attire."
closet_appearance = /decl/closet_appearance/wardrobe/orange
starts_with = list(
/obj/item/clothing/under/color/prison = 3,
/obj/item/clothing/shoes/orange = 3)
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/yellow
starts_with = list(
/obj/item/clothing/under/color/yellow = 3,
/obj/item/clothing/shoes/yellow = 3,
/obj/item/clothing/head/soft/yellow = 3,
/obj/item/clothing/mask/bandana/gold = 3)
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/engineer/atmos
starts_with = list(
/obj/item/clothing/under/rank/atmospheric_technician = 3,
/obj/item/clothing/under/rank/atmospheric_technician/skirt = 3,
/obj/item/clothing/shoes/black = 3,
/obj/item/clothing/head/hardhat/red = 3,
/obj/item/clothing/head/beret/engineering = 3,
/obj/item/clothing/mask/bandana/gold = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 3,
/obj/item/clothing/shoes/boots/winter/atmos = 3)
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/engineer
starts_with = list(
/obj/item/clothing/under/rank/engineer = 3,
/obj/item/clothing/under/rank/engineer/skirt = 3,
/obj/item/clothing/under/rank/engineer/turtleneck = 3,
/obj/item/clothing/shoes/orange = 3,
/obj/item/clothing/head/hardhat = 3,
/obj/item/clothing/head/beret/engineering = 3,
/obj/item/clothing/mask/bandana/gold = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 3,
/obj/item/clothing/shoes/boots/winter/engineering = 3,
/obj/item/clothing/shoes/boots/workboots = 3)
/obj/structure/closet/wardrobe/white
name = "white wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/white
starts_with = list(
/obj/item/clothing/under/color/white = 3,
/obj/item/clothing/shoes/white = 3,
/obj/item/clothing/head/soft/mime = 3)
/obj/structure/closet/wardrobe/pjs
name = "pajama wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/pjs
starts_with = list(
/obj/item/clothing/under/pj/red = 2,
/obj/item/clothing/under/pj/blue = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/shoes/slippers = 2)
/obj/structure/closet/wardrobe/science_white
name = "science wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/science
starts_with = list(
/obj/item/clothing/under/rank/scientist = 3,
/obj/item/clothing/under/rank/scientist/skirt = 2,
/obj/item/clothing/under/rank/scientist/turtleneck = 3,
/obj/item/clothing/suit/storage/toggle/labcoat = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/modern = 3,
/obj/item/clothing/shoes/white = 3,
/obj/item/clothing/shoes/slippers = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/shoes/boots/winter/science,
/obj/item/weapon/storage/backpack/toxins,
/obj/item/weapon/storage/backpack/satchel/tox)
/obj/structure/closet/wardrobe/science_white/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/satchel/tox
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/satchel/tox
return ..()
/obj/structure/closet/wardrobe/robotics_black
name = "robotics wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/robotics
starts_with = list(
/obj/item/clothing/under/rank/roboticist = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/science/robotics,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/gloves/black = 2,
/obj/item/weapon/storage/backpack/toxins,
/obj/item/weapon/storage/backpack/satchel/tox)
/obj/structure/closet/wardrobe/robotics_black/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/satchel/tox
return ..()
/obj/structure/closet/wardrobe/chemistry_white
name = "chemistry wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/chemistry
starts_with = list(
/obj/item/clothing/under/rank/chemist = 2,
/obj/item/clothing/under/rank/chemist/skirt = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/chemist = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/chemist,
/obj/item/weapon/storage/backpack/chemistry = 2,
/obj/item/weapon/storage/backpack/satchel/chem = 2,
/obj/item/weapon/storage/bag/chemistry = 2,)
/obj/structure/closet/wardrobe/genetics_white
name = "genetics wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/genetics
starts_with = list(
/obj/item/clothing/under/rank/geneticist = 2,
/obj/item/clothing/under/rank/geneticist/skirt = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/genetics = 2,
/obj/item/weapon/storage/backpack/genetics = 2,
/obj/item/weapon/storage/backpack/satchel/gen = 2)
/obj/structure/closet/wardrobe/virology_white
name = "virology wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/virology
starts_with = list(
/obj/item/clothing/under/rank/virologist = 2,
/obj/item/clothing/under/rank/virologist/skirt = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/virologist = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/viro,
/obj/item/clothing/mask/surgical = 2,
/obj/item/weapon/storage/backpack/virology = 2,
/obj/item/weapon/storage/backpack/satchel/vir = 2)
/obj/structure/closet/wardrobe/medic_white
name = "medical wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/white
starts_with = list(
/obj/item/clothing/under/rank/medical = 2,
/obj/item/clothing/under/rank/medical/skirt = 2,
/obj/item/clothing/under/rank/medical/turtleneck = 2,
/obj/item/clothing/under/rank/medical/scrubs,
/obj/item/clothing/under/rank/medical/scrubs/green,
/obj/item/clothing/under/rank/medical/scrubs/purple,
/obj/item/clothing/under/rank/medical/scrubs/black,
/obj/item/clothing/under/rank/medical/scrubs/navyblue,
/obj/item/clothing/head/surgery/navyblue,
/obj/item/clothing/head/surgery/purple,
/obj/item/clothing/head/surgery/blue,
/obj/item/clothing/head/surgery/green,
/obj/item/clothing/head/surgery/black,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 2,
/obj/item/clothing/mask/surgical = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 2,
/obj/item/clothing/shoes/boots/winter/medical = 2)
/obj/structure/closet/wardrobe/medic_gown
name = "cloning wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/patient
starts_with = list(
/obj/item/clothing/under/medigown = 4)
/obj/structure/closet/wardrobe/grey
name = "grey wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/grey
starts_with = list(
/obj/item/clothing/under/color/grey = 3,
/obj/item/clothing/shoes/black = 3,
/obj/item/clothing/head/soft/grey = 3)
/obj/structure/closet/wardrobe/mixed
name = "mixed wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/under/color/blue,
/obj/item/clothing/under/color/yellow,
/obj/item/clothing/under/color/green,
/obj/item/clothing/under/color/pink,
/obj/item/clothing/under/skirt/outfit/plaid_blue,
/obj/item/clothing/under/skirt/outfit/plaid_red,
/obj/item/clothing/under/skirt/outfit/plaid_purple,
/obj/item/clothing/shoes/blue,
/obj/item/clothing/shoes/yellow,
/obj/item/clothing/shoes/green,
/obj/item/clothing/shoes/purple,
/obj/item/clothing/shoes/red,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/under/pants/classicjeans,
/obj/item/clothing/under/pants/mustangjeans,
/obj/item/clothing/under/pants/blackjeans,
/obj/item/clothing/under/pants/youngfolksjeans,
/obj/item/clothing/under/pants/white,
/obj/item/clothing/under/pants/red,
/obj/item/clothing/under/pants/black,
/obj/item/clothing/under/pants/tan,
/obj/item/clothing/under/pants/track,
/obj/item/clothing/suit/storage/toggle/track,
/obj/item/clothing/under/pants,
/obj/item/clothing/under/pants/khaki,
/obj/item/clothing/mask/bandana/blue,
/obj/item/clothing/mask/bandana/blue,
/obj/item/clothing/accessory/hawaiian,
/obj/item/clothing/accessory/hawaiian/blue,
/obj/item/clothing/accessory/hawaiian/pink,
/obj/item/clothing/accessory/hawaiian/red,
/obj/item/clothing/accessory/hawaiian/yellow)
/obj/structure/closet/wardrobe/tactical
name = "tactical equipment"
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/clothing/under/tactical,
/obj/item/clothing/suit/armor/tactical,
/obj/item/clothing/head/helmet/tactical,
/obj/item/clothing/mask/balaclava/tactical,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
/obj/item/clothing/shoes/boots/jackboots,
/obj/item/clothing/gloves/black,
/obj/item/clothing/under/pants/camo)
/obj/structure/closet/wardrobe/tactical/Initialize()
if(prob(25))
starts_with += /obj/item/weapon/storage/belt/security/tactical/bandolier
else
starts_with += /obj/item/weapon/storage/belt/security/tactical
if(prob(10))
starts_with += /obj/item/clothing/mask/bandana/skull
return ..()
/obj/structure/closet/wardrobe/ert
name = "emergency response team equipment"
closet_appearance = /decl/closet_appearance/ert
starts_with = list(
/obj/item/clothing/under/rank/centcom,
/obj/item/clothing/under/ert,
/obj/item/clothing/under/syndicate/combat,
/obj/item/device/radio/headset/ert/alt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/shoes/boots/swat,
/obj/item/clothing/gloves/swat,
/obj/item/clothing/mask/balaclava/tactical,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/mask/bandana/skull = 2,
/obj/item/clothing/mask/gas/sechailer/swat)
/obj/structure/closet/wardrobe/suit
name = "suit locker"
closet_appearance = /decl/closet_appearance/wardrobe/suit
starts_with = list(
/obj/item/clothing/under/assistantformal,
/obj/item/clothing/under/suit_jacket/charcoal,
/obj/item/clothing/under/suit_jacket/charcoal/skirt,
/obj/item/clothing/under/suit_jacket/navy,
/obj/item/clothing/under/suit_jacket/navy/skirt,
/obj/item/clothing/under/suit_jacket/burgundy,
/obj/item/clothing/under/suit_jacket/burgundy/skirt,
/obj/item/clothing/under/suit_jacket/checkered,
/obj/item/clothing/under/suit_jacket/checkered/skirt,
/obj/item/clothing/under/suit_jacket/tan,
/obj/item/clothing/under/suit_jacket/tan/skirt,
/obj/item/clothing/under/sl_suit,
/obj/item/clothing/under/suit_jacket,
/obj/item/clothing/under/suit_jacket/female,
/obj/item/clothing/under/suit_jacket/female/skirt,
/obj/item/clothing/under/suit_jacket/really_black,
/obj/item/clothing/under/suit_jacket/really_black/skirt,
/obj/item/clothing/under/suit_jacket/red,
/obj/item/clothing/under/suit_jacket/red/skirt,
/obj/item/clothing/under/scratch,
/obj/item/clothing/under/scratch/skirt,
/obj/item/weapon/storage/backpack/satchel = 2)
/obj/structure/closet/wardrobe/captain
name = "site manager's wardrobe"
closet_appearance = /decl/closet_appearance/cabinet
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/weapon/storage/backpack/captain,
/obj/item/clothing/suit/captunic,
/obj/item/clothing/suit/captunic/capjacket,
/obj/item/clothing/head/caphat/cap,
/obj/item/clothing/head/caphat/beret,
/obj/item/clothing/under/rank/captain,
/obj/item/clothing/under/dress/dress_cap/femformal,
/obj/item/clothing/under/rank/neo_captain_parade,
/obj/item/clothing/under/rank/neo_captain_skirt,
/obj/item/clothing/under/rank/neo_captain,
/obj/item/clothing/under/rank/neo_captain_kilt,
/obj/item/clothing/under/rank/neo_captain_blacksuit,
/obj/item/clothing/under/rank/neo_commandutil,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/gloves/captain,
/obj/item/clothing/under/dress/dress_cap,
/obj/item/weapon/storage/backpack/satchel/cap,
/obj/item/clothing/head/caphat/formal,
/obj/item/clothing/under/captainformal,
/obj/item/clothing/suit/storage/hooded/wintercoat/captain,
/obj/item/clothing/shoes/boots/winter/command,
/obj/item/clothing/head/beret/centcom/captain,
/obj/item/clothing/under/suit_jacket/green,
/obj/item/clothing/under/suit_jacket/green/skirt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/head/caphat)
/obj/structure/closet/wardrobe
name = "wardrobe"
desc = "It's a storage unit for standard-issue attire."
closet_appearance = /decl/closet_appearance/wardrobe
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/red
starts_with = list(
/obj/item/clothing/under/rank/security = 3,
/obj/item/clothing/under/rank/security2 = 3,
/obj/item/clothing/under/rank/security/turtleneck = 3,
/obj/item/clothing/under/rank/security/skirt = 2,
/obj/item/clothing/shoes/boots/jackboots = 3,
/obj/item/clothing/head/soft/sec = 3,
/obj/item/clothing/head/beret/sec = 3,
/obj/item/clothing/head/beret/sec/corporate/officer = 3,
/obj/item/clothing/mask/bandana/red = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/security = 3,
/obj/item/clothing/accessory/armband = 3,
/obj/item/clothing/accessory/holster/waist = 3)
/obj/structure/closet/wardrobe/red/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/security
else
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
return ..()
/obj/structure/closet/wardrobe/detective
name = "detective wardrobe"
closet_appearance = /decl/closet_appearance/cabinet
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/clothing/head/det = 2,
/obj/item/clothing/head/det/grey = 2,
/obj/item/clothing/shoes/brown = 2,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/under/det = 2,
/obj/item/clothing/under/det/waistcoat = 2,
/obj/item/clothing/under/det/grey = 2,
/obj/item/clothing/under/det/grey/waistcoat = 2,
/obj/item/clothing/under/det/black = 2,
/obj/item/clothing/under/det/skirt,
/obj/item/clothing/under/det/corporate = 2,
/obj/item/clothing/suit/storage/det_trench = 2,
/obj/item/clothing/suit/storage/det_trench/grey = 2,
/obj/item/clothing/suit/storage/forensics/blue = 2,
/obj/item/clothing/suit/storage/forensics/red = 2)
/obj/structure/closet/wardrobe/pink
name = "pink wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/pink
starts_with = list(
/obj/item/clothing/under/color/pink = 3,
/obj/item/clothing/shoes/brown = 3)
/obj/structure/closet/wardrobe/black
name = "black wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/black
starts_with = list(
/obj/item/clothing/under/color/black = 3,
/obj/item/clothing/shoes/black = 3,
/obj/item/clothing/head/that = 3,
/obj/item/clothing/head/soft/black = 3,
/obj/item/clothing/mask/bandana = 3,
/obj/item/weapon/storage/backpack/messenger/black)
/obj/structure/closet/wardrobe/chaplain_black
name = "chapel wardrobe"
desc = "It's a storage unit for approved religious attire."
closet_appearance = /decl/closet_appearance/wardrobe/chapel
starts_with = list(
/obj/item/clothing/under/rank/chaplain,
/obj/item/clothing/shoes/black,
/obj/item/clothing/suit/nun,
/obj/item/clothing/head/nun_hood,
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie,
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout,
/obj/item/clothing/suit/holidaypriest,
/obj/item/clothing/under/wedding/bride_white,
/obj/item/weapon/storage/backpack/cultpack,
/obj/item/weapon/storage/fancy/candle_box = 2,
/obj/item/weapon/storage/fancy/whitecandle_box,
/obj/item/weapon/storage/fancy/blackcandle_box,
/obj/item/godfig = 2,
/obj/item/weapon/deck/tarot)
/obj/structure/closet/wardrobe/green
name = "green wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/green
starts_with = list(
/obj/item/clothing/under/color/green = 3,
/obj/item/clothing/shoes/green = 3,
/obj/item/clothing/head/soft/green = 3,
/obj/item/clothing/mask/bandana/green = 3)
/obj/structure/closet/wardrobe/xenos
name = "xenos wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/xenos
starts_with = list(
/obj/item/clothing/suit/unathi/mantle,
/obj/item/clothing/suit/unathi/robe,
/obj/item/clothing/shoes/sandal = 2,
/obj/item/clothing/shoes/footwraps = 2,
/obj/item/clothing/shoes/boots/winter = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat = 2)
/obj/structure/closet/wardrobe/orange
name = "prison wardrobe"
desc = "It's a storage unit for regulation prisoner attire."
closet_appearance = /decl/closet_appearance/wardrobe/orange
starts_with = list(
/obj/item/clothing/under/color/prison = 3,
/obj/item/clothing/shoes/orange = 3)
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/yellow
starts_with = list(
/obj/item/clothing/under/color/yellow = 3,
/obj/item/clothing/shoes/yellow = 3,
/obj/item/clothing/head/soft/yellow = 3,
/obj/item/clothing/mask/bandana/gold = 3)
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/engineer/atmos
starts_with = list(
/obj/item/clothing/under/rank/atmospheric_technician = 3,
/obj/item/clothing/under/rank/atmospheric_technician/skirt = 3,
/obj/item/clothing/shoes/black = 3,
/obj/item/clothing/head/hardhat/red = 3,
/obj/item/clothing/head/beret/engineering = 3,
/obj/item/clothing/mask/bandana/gold = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 3,
/obj/item/clothing/shoes/boots/winter/atmos = 3)
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/engineer
starts_with = list(
/obj/item/clothing/under/rank/engineer = 3,
/obj/item/clothing/under/rank/engineer/skirt = 3,
/obj/item/clothing/under/rank/engineer/turtleneck = 3,
/obj/item/clothing/shoes/orange = 3,
/obj/item/clothing/head/hardhat = 3,
/obj/item/clothing/head/beret/engineering = 3,
/obj/item/clothing/mask/bandana/gold = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 3,
/obj/item/clothing/shoes/boots/winter/engineering = 3,
/obj/item/clothing/shoes/boots/workboots = 3)
/obj/structure/closet/wardrobe/white
name = "white wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/white
starts_with = list(
/obj/item/clothing/under/color/white = 3,
/obj/item/clothing/shoes/white = 3,
/obj/item/clothing/head/soft/mime = 3)
/obj/structure/closet/wardrobe/pjs
name = "pajama wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/pjs
starts_with = list(
/obj/item/clothing/under/pj/red = 2,
/obj/item/clothing/under/pj/blue = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/shoes/slippers = 2)
/obj/structure/closet/wardrobe/science_white
name = "science wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/science
starts_with = list(
/obj/item/clothing/under/rank/scientist = 3,
/obj/item/clothing/under/rank/scientist/skirt = 2,
/obj/item/clothing/under/rank/scientist/turtleneck = 3,
/obj/item/clothing/suit/storage/toggle/labcoat = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/modern = 3,
/obj/item/clothing/shoes/white = 3,
/obj/item/clothing/shoes/slippers = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/shoes/boots/winter/science,
/obj/item/weapon/storage/backpack/toxins,
/obj/item/weapon/storage/backpack/satchel/tox)
/obj/structure/closet/wardrobe/science_white/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/satchel/tox
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/satchel/tox
return ..()
/obj/structure/closet/wardrobe/robotics_black
name = "robotics wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/robotics
starts_with = list(
/obj/item/clothing/under/rank/roboticist = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/science/robotics,
/obj/item/clothing/shoes/black = 2,
/obj/item/clothing/gloves/black = 2,
/obj/item/weapon/storage/backpack/toxins,
/obj/item/weapon/storage/backpack/satchel/tox)
/obj/structure/closet/wardrobe/robotics_black/Initialize()
if(prob(50))
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sci
else
starts_with += /obj/item/weapon/storage/backpack/satchel/tox
return ..()
/obj/structure/closet/wardrobe/chemistry_white
name = "chemistry wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/chemistry
starts_with = list(
/obj/item/clothing/under/rank/chemist = 2,
/obj/item/clothing/under/rank/chemist/skirt = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/chemist = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/chemist,
/obj/item/weapon/storage/backpack/chemistry = 2,
/obj/item/weapon/storage/backpack/satchel/chem = 2,
/obj/item/weapon/storage/bag/chemistry = 2,)
/obj/structure/closet/wardrobe/genetics_white
name = "genetics wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/genetics
starts_with = list(
/obj/item/clothing/under/rank/geneticist = 2,
/obj/item/clothing/under/rank/geneticist/skirt = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/genetics = 2,
/obj/item/weapon/storage/backpack/genetics = 2,
/obj/item/weapon/storage/backpack/satchel/gen = 2)
/obj/structure/closet/wardrobe/virology_white
name = "virology wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/virology
starts_with = list(
/obj/item/clothing/under/rank/virologist = 2,
/obj/item/clothing/under/rank/virologist/skirt = 2,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/virologist = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical/viro,
/obj/item/clothing/mask/surgical = 2,
/obj/item/weapon/storage/backpack/virology = 2,
/obj/item/weapon/storage/backpack/satchel/vir = 2)
/obj/structure/closet/wardrobe/medic_white
name = "medical wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/white
starts_with = list(
/obj/item/clothing/under/rank/medical = 2,
/obj/item/clothing/under/rank/medical/skirt = 2,
/obj/item/clothing/under/rank/medical/turtleneck = 2,
/obj/item/clothing/under/rank/medical/scrubs,
/obj/item/clothing/under/rank/medical/scrubs/green,
/obj/item/clothing/under/rank/medical/scrubs/purple,
/obj/item/clothing/under/rank/medical/scrubs/black,
/obj/item/clothing/under/rank/medical/scrubs/navyblue,
/obj/item/clothing/head/surgery/navyblue,
/obj/item/clothing/head/surgery/purple,
/obj/item/clothing/head/surgery/blue,
/obj/item/clothing/head/surgery/green,
/obj/item/clothing/head/surgery/black,
/obj/item/clothing/shoes/white = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 2,
/obj/item/clothing/mask/surgical = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 2,
/obj/item/clothing/shoes/boots/winter/medical = 2)
/obj/structure/closet/wardrobe/medic_gown
name = "cloning wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/medical/patient
starts_with = list(
/obj/item/clothing/under/medigown = 4)
/obj/structure/closet/wardrobe/grey
name = "grey wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/grey
starts_with = list(
/obj/item/clothing/under/color/grey = 3,
/obj/item/clothing/shoes/black = 3,
/obj/item/clothing/head/soft/grey = 3)
/obj/structure/closet/wardrobe/mixed
name = "mixed wardrobe"
closet_appearance = /decl/closet_appearance/wardrobe/mixed
starts_with = list(
/obj/item/clothing/under/color/blue,
/obj/item/clothing/under/color/yellow,
/obj/item/clothing/under/color/green,
/obj/item/clothing/under/color/pink,
/obj/item/clothing/under/skirt/outfit/plaid_blue,
/obj/item/clothing/under/skirt/outfit/plaid_red,
/obj/item/clothing/under/skirt/outfit/plaid_purple,
/obj/item/clothing/shoes/blue,
/obj/item/clothing/shoes/yellow,
/obj/item/clothing/shoes/green,
/obj/item/clothing/shoes/purple,
/obj/item/clothing/shoes/red,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/under/pants/classicjeans,
/obj/item/clothing/under/pants/mustangjeans,
/obj/item/clothing/under/pants/blackjeans,
/obj/item/clothing/under/pants/youngfolksjeans,
/obj/item/clothing/under/pants/white,
/obj/item/clothing/under/pants/red,
/obj/item/clothing/under/pants/black,
/obj/item/clothing/under/pants/tan,
/obj/item/clothing/under/pants/track,
/obj/item/clothing/suit/storage/toggle/track,
/obj/item/clothing/under/pants,
/obj/item/clothing/under/pants/khaki,
/obj/item/clothing/mask/bandana/blue,
/obj/item/clothing/mask/bandana/blue,
/obj/item/clothing/accessory/hawaiian,
/obj/item/clothing/accessory/hawaiian/blue,
/obj/item/clothing/accessory/hawaiian/pink,
/obj/item/clothing/accessory/hawaiian/red,
/obj/item/clothing/accessory/hawaiian/yellow)
/obj/structure/closet/wardrobe/tactical
name = "tactical equipment"
closet_appearance = /decl/closet_appearance/tactical
starts_with = list(
/obj/item/clothing/under/tactical,
/obj/item/clothing/suit/armor/tactical,
/obj/item/clothing/head/helmet/tactical,
/obj/item/clothing/mask/balaclava/tactical,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
/obj/item/clothing/shoes/boots/jackboots,
/obj/item/clothing/gloves/black,
/obj/item/clothing/under/pants/camo)
/obj/structure/closet/wardrobe/tactical/Initialize()
if(prob(25))
starts_with += /obj/item/weapon/storage/belt/security/tactical/bandolier
else
starts_with += /obj/item/weapon/storage/belt/security/tactical
if(prob(10))
starts_with += /obj/item/clothing/mask/bandana/skull
return ..()
/obj/structure/closet/wardrobe/ert
name = "emergency response team equipment"
closet_appearance = /decl/closet_appearance/ert
starts_with = list(
/obj/item/clothing/under/rank/centcom,
/obj/item/clothing/under/ert,
/obj/item/clothing/under/syndicate/combat,
/obj/item/device/radio/headset/ert/alt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/shoes/boots/swat,
/obj/item/clothing/gloves/swat,
/obj/item/clothing/mask/balaclava/tactical,
/obj/item/clothing/mask/balaclava,
/obj/item/clothing/mask/bandana/skull = 2,
/obj/item/clothing/mask/gas/sechailer/swat)
/obj/structure/closet/wardrobe/suit
name = "suit locker"
closet_appearance = /decl/closet_appearance/wardrobe/suit
starts_with = list(
/obj/item/clothing/under/assistantformal,
/obj/item/clothing/under/suit_jacket/charcoal,
/obj/item/clothing/under/suit_jacket/charcoal/skirt,
/obj/item/clothing/under/suit_jacket/navy,
/obj/item/clothing/under/suit_jacket/navy/skirt,
/obj/item/clothing/under/suit_jacket/burgundy,
/obj/item/clothing/under/suit_jacket/burgundy/skirt,
/obj/item/clothing/under/suit_jacket/checkered,
/obj/item/clothing/under/suit_jacket/checkered/skirt,
/obj/item/clothing/under/suit_jacket/tan,
/obj/item/clothing/under/suit_jacket/tan/skirt,
/obj/item/clothing/under/sl_suit,
/obj/item/clothing/under/suit_jacket,
/obj/item/clothing/under/suit_jacket/female,
/obj/item/clothing/under/suit_jacket/female/skirt,
/obj/item/clothing/under/suit_jacket/really_black,
/obj/item/clothing/under/suit_jacket/really_black/skirt,
/obj/item/clothing/under/suit_jacket/red,
/obj/item/clothing/under/suit_jacket/red/skirt,
/obj/item/clothing/under/scratch,
/obj/item/clothing/under/scratch/skirt,
/obj/item/weapon/storage/backpack/satchel = 2)
/obj/structure/closet/wardrobe/captain
name = "site manager's wardrobe"
closet_appearance = /decl/closet_appearance/cabinet
open_sound = 'sound/effects/wooden_closet_open.ogg'
close_sound = 'sound/effects/wooden_closet_close.ogg'
starts_with = list(
/obj/item/weapon/storage/backpack/captain,
/obj/item/clothing/suit/captunic,
/obj/item/clothing/suit/captunic/capjacket,
/obj/item/clothing/head/caphat/cap,
/obj/item/clothing/head/caphat/beret,
/obj/item/clothing/under/rank/captain,
/obj/item/clothing/under/dress/dress_cap/femformal,
/obj/item/clothing/under/rank/neo_captain_parade,
/obj/item/clothing/under/rank/neo_captain_skirt,
/obj/item/clothing/under/rank/neo_captain,
/obj/item/clothing/under/rank/neo_captain_kilt,
/obj/item/clothing/under/rank/neo_captain_blacksuit,
/obj/item/clothing/under/rank/neo_commandutil,
/obj/item/clothing/shoes/brown,
/obj/item/clothing/gloves/captain,
/obj/item/clothing/under/dress/dress_cap,
/obj/item/weapon/storage/backpack/satchel/cap,
/obj/item/clothing/head/caphat/formal,
/obj/item/clothing/under/captainformal,
/obj/item/clothing/suit/storage/hooded/wintercoat/captain,
/obj/item/clothing/shoes/boots/winter/command,
/obj/item/clothing/head/beret/centcom/captain,
/obj/item/clothing/under/suit_jacket/green,
/obj/item/clothing/under/suit_jacket/green/skirt,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/head/caphat)
File diff suppressed because it is too large Load Diff
@@ -1,132 +1,132 @@
/obj/structure/largecrate
name = "large crate"
desc = "A hefty wooden crate."
icon = 'icons/obj/storage.dmi'
icon_state = "densecrate"
density = TRUE
var/list/starts_with
/obj/structure/largecrate/Initialize()
. = ..()
if(starts_with)
create_objects_in_loc(src, starts_with)
starts_with = null
for(var/obj/I in src.loc)
if(I.density || I.anchored || I == src || !I.simulated)
continue
I.forceMove(src)
update_icon()
/obj/structure/largecrate/attack_hand(mob/user as mob)
to_chat(user, "<span class='notice'>You need a crowbar to pry this open!</span>")
return
/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob)
var/turf/T = get_turf(src)
if(!T)
to_chat(user, "<span class='notice'>You can't open this here!</span>")
if(W.has_tool_quality(TOOL_CROWBAR))
new /obj/item/stack/material/wood(src)
for(var/atom/movable/AM in contents)
if(AM.simulated)
AM.forceMove(T)
//VOREStation Add Start
if(isanimal(AM))
var/mob/living/simple_mob/AMBLINAL = AM
if(!AMBLINAL.mind)
AMBLINAL.ghostjoin = 1
AMBLINAL.ghostjoin_icon()
active_ghost_pods |= AMBLINAL
//VOREStation Add End
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
return attack_hand(user)
/obj/structure/largecrate/mule
name = "MULE crate"
/obj/structure/largecrate/hoverpod
name = "\improper Hoverpod assembly crate"
desc = "You aren't sure how this crate is so light, but the Wulf Aeronautics logo might be a hint."
icon_state = "vehiclecrate"
/obj/structure/largecrate/hoverpod/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.has_tool_quality(TOOL_CROWBAR))
var/obj/item/mecha_parts/mecha_equipment/ME
var/obj/mecha/working/hoverpod/H = new (loc)
ME = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
ME.attach(H)
ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger
ME.attach(H)
..()
/obj/structure/largecrate/donksoftvendor
name = "\improper Donk-Soft vendor crate"
desc = "A hefty wooden crate displaying the logo of Donk-Soft. It's rather heavy."
starts_with = list(/obj/machinery/vending/donksoft)
/obj/structure/largecrate/vehicle
name = "vehicle crate"
desc = "Wulf Aeronautics says it comes in a box for the consumer's sake... How is this so light?"
icon_state = "vehiclecrate"
/obj/structure/largecrate/vehicle/Initialize()
. = ..()
for(var/obj/O in contents)
O.update_icon()
/obj/structure/largecrate/vehicle/bike
name = "spacebike crate"
starts_with = list(/obj/structure/vehiclecage/spacebike)
/obj/structure/largecrate/vehicle/quadbike
name = "\improper ATV crate"
desc = "A hefty wooden crate proudly displaying the logo of Ward-Takahashi's automotive division."
starts_with = list(/obj/structure/vehiclecage/quadbike)
/obj/structure/largecrate/vehicle/quadtrailer
name = "\improper ATV trailer crate"
desc = "A hefty wooden crate proudly displaying the logo of Ward-Takahashi's automotive division."
starts_with = list(/obj/structure/vehiclecage/quadtrailer)
/obj/structure/largecrate/animal
icon_state = "crittercrate"
desc = "A hefty wooden crate with air holes. It is marked with the logo of NanoTrasen Pastures and the slogan, '90% less cloning defects* than competing brands**, or your money back***!'"
/obj/structure/largecrate/animal/mulebot
name = "Mulebot crate"
desc = "A hefty wooden crate labelled 'Proud Product of the Xion Manufacturing Group'"
icon_state = "mulecrate"
starts_with = list(/mob/living/bot/mulebot)
/obj/structure/largecrate/animal/corgi
name = "corgi carrier"
starts_with = list(/mob/living/simple_mob/animal/passive/dog/corgi)
/obj/structure/largecrate/animal/cow
name = "cow crate"
starts_with = list(/mob/living/simple_mob/animal/passive/cow)
/obj/structure/largecrate/animal/goat
name = "goat crate"
starts_with = list(/mob/living/simple_mob/animal/goat)
/obj/structure/largecrate/animal/cat
name = "cat carrier"
starts_with = list(/mob/living/simple_mob/animal/passive/cat)
/obj/structure/largecrate/animal/cat/bones
starts_with = list(/mob/living/simple_mob/animal/passive/cat/bones)
/obj/structure/largecrate/animal/chick
name = "chicken crate"
starts_with = list(/mob/living/simple_mob/animal/passive/chick = 5)
/obj/structure/largecrate/animal/catslug
name = "catslug carrier"
starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug)
/obj/structure/largecrate
name = "large crate"
desc = "A hefty wooden crate."
icon = 'icons/obj/storage.dmi'
icon_state = "densecrate"
density = TRUE
var/list/starts_with
/obj/structure/largecrate/Initialize()
. = ..()
if(starts_with)
create_objects_in_loc(src, starts_with)
starts_with = null
for(var/obj/I in src.loc)
if(I.density || I.anchored || I == src || !I.simulated)
continue
I.forceMove(src)
update_icon()
/obj/structure/largecrate/attack_hand(mob/user as mob)
to_chat(user, "<span class='notice'>You need a crowbar to pry this open!</span>")
return
/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob)
var/turf/T = get_turf(src)
if(!T)
to_chat(user, "<span class='notice'>You can't open this here!</span>")
if(W.has_tool_quality(TOOL_CROWBAR))
new /obj/item/stack/material/wood(src)
for(var/atom/movable/AM in contents)
if(AM.simulated)
AM.forceMove(T)
//VOREStation Add Start
if(isanimal(AM))
var/mob/living/simple_mob/AMBLINAL = AM
if(!AMBLINAL.mind)
AMBLINAL.ghostjoin = 1
AMBLINAL.ghostjoin_icon()
active_ghost_pods |= AMBLINAL
//VOREStation Add End
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
return attack_hand(user)
/obj/structure/largecrate/mule
name = "MULE crate"
/obj/structure/largecrate/hoverpod
name = "\improper Hoverpod assembly crate"
desc = "You aren't sure how this crate is so light, but the Wulf Aeronautics logo might be a hint."
icon_state = "vehiclecrate"
/obj/structure/largecrate/hoverpod/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.has_tool_quality(TOOL_CROWBAR))
var/obj/item/mecha_parts/mecha_equipment/ME
var/obj/mecha/working/hoverpod/H = new (loc)
ME = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
ME.attach(H)
ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger
ME.attach(H)
..()
/obj/structure/largecrate/donksoftvendor
name = "\improper Donk-Soft vendor crate"
desc = "A hefty wooden crate displaying the logo of Donk-Soft. It's rather heavy."
starts_with = list(/obj/machinery/vending/donksoft)
/obj/structure/largecrate/vehicle
name = "vehicle crate"
desc = "Wulf Aeronautics says it comes in a box for the consumer's sake... How is this so light?"
icon_state = "vehiclecrate"
/obj/structure/largecrate/vehicle/Initialize()
. = ..()
for(var/obj/O in contents)
O.update_icon()
/obj/structure/largecrate/vehicle/bike
name = "spacebike crate"
starts_with = list(/obj/structure/vehiclecage/spacebike)
/obj/structure/largecrate/vehicle/quadbike
name = "\improper ATV crate"
desc = "A hefty wooden crate proudly displaying the logo of Ward-Takahashi's automotive division."
starts_with = list(/obj/structure/vehiclecage/quadbike)
/obj/structure/largecrate/vehicle/quadtrailer
name = "\improper ATV trailer crate"
desc = "A hefty wooden crate proudly displaying the logo of Ward-Takahashi's automotive division."
starts_with = list(/obj/structure/vehiclecage/quadtrailer)
/obj/structure/largecrate/animal
icon_state = "crittercrate"
desc = "A hefty wooden crate with air holes. It is marked with the logo of NanoTrasen Pastures and the slogan, '90% less cloning defects* than competing brands**, or your money back***!'"
/obj/structure/largecrate/animal/mulebot
name = "Mulebot crate"
desc = "A hefty wooden crate labelled 'Proud Product of the Xion Manufacturing Group'"
icon_state = "mulecrate"
starts_with = list(/mob/living/bot/mulebot)
/obj/structure/largecrate/animal/corgi
name = "corgi carrier"
starts_with = list(/mob/living/simple_mob/animal/passive/dog/corgi)
/obj/structure/largecrate/animal/cow
name = "cow crate"
starts_with = list(/mob/living/simple_mob/animal/passive/cow)
/obj/structure/largecrate/animal/goat
name = "goat crate"
starts_with = list(/mob/living/simple_mob/animal/goat)
/obj/structure/largecrate/animal/cat
name = "cat carrier"
starts_with = list(/mob/living/simple_mob/animal/passive/cat)
/obj/structure/largecrate/animal/cat/bones
starts_with = list(/mob/living/simple_mob/animal/passive/cat/bones)
/obj/structure/largecrate/animal/chick
name = "chicken crate"
starts_with = list(/mob/living/simple_mob/animal/passive/chick = 5)
/obj/structure/largecrate/animal/catslug
name = "catslug carrier"
starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug)