Merge branch 'master' of https://github.com/tgstation/-tg-station into FoodRecipes2

Conflicts:
	_maps/map_files/MiniStation/MiniStation.dmm
	_maps/map_files/MiniStation/z2.dmm
	code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
This commit is contained in:
phil235
2015-04-08 19:36:49 +02:00
233 changed files with 6496 additions and 4381 deletions
@@ -1,12 +1,8 @@
/obj/structure/closet/crate/bin
desc = "A trash bin, place your trash here for the janitor to collect."
name = "trash bin"
icon = 'icons/obj/storage.dmi'
icon_state = "largebins"
density = 1
icon_crate = "largebins"
anchored = 1
icon_opened = "largebinsopen"
icon_closed = "largebins"
sound_effect_open = 'sound/effects/bin_open.ogg'
sound_effect_close = 'sound/effects/bin_close.ogg'
var/animation = "animate_largebins"
@@ -14,7 +10,6 @@
var/greenlight = "largebing"
var/orangelight = "largebino"
/obj/structure/closet/crate/bin/New()
..()
update_icon()
@@ -2,10 +2,9 @@
name = "closet"
desc = "It's a basic storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "closed"
icon_state = "generic"
density = 1
var/icon_closed = "closed"
var/icon_opened = "open"
var/icon_door = null
var/opened = 0
var/welded = 0
var/locked = 0
@@ -19,11 +18,27 @@
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate
//then open it in a populated area to crash clients.
/obj/structure/closet/New()
..()
update_icon()
/obj/structure/closet/initialize()
..()
if(!opened) // if closed, any item at the crate's loc is put in the contents
take_contents()
/obj/structure/closet/update_icon()
overlays.Cut()
if(!opened)
if(icon_door)
overlays += "[icon_door]_door"
else
overlays += "[icon_state]_door"
if(welded)
overlays += "welded"
else
overlays += "[icon_state]_open"
/obj/structure/closet/alter_health()
return get_turf(src)
@@ -68,13 +83,13 @@
src.dump_contents()
src.icon_state = src.icon_opened
src.opened = 1
if(istype(src, /obj/structure/closet/body_bag))
playsound(src.loc, 'sound/items/zip.ogg', 15, 1, -3)
else
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
density = 0
update_icon()
return 1
/obj/structure/closet/proc/insert(var/atom/movable/AM)
@@ -86,7 +101,7 @@
var/mob/living/L = AM
if(L.buckled || L.mob_size > max_mob_size) //buckled mobs and mobs too big for the container don't get inside closets.
return 0
if(L.mob_size > 0)
if(L.mob_size > MOB_SIZE_TINY) //decently sized mobs take more space than objects.
var/mobs_stored = 0
for(var/mob/living/M in contents)
mobs_stored++
@@ -112,13 +127,13 @@
take_contents()
src.icon_state = src.icon_closed
src.opened = 0
if(istype(src, /obj/structure/closet/body_bag))
playsound(src.loc, 'sound/items/zip.ogg', 15, 1, -3)
else
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
density = 1
update_icon()
return 1
/obj/structure/closet/proc/toggle()
@@ -275,15 +290,6 @@
else
usr << "<span class='warning'>This mob type can't use this verb.</span>"
/obj/structure/closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
overlays.Cut()
if(!opened)
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
// Objects that try to exit a locker by stepping were doing so successfully,
// and due to an oversight in turf/Enter() were going through walls. That
// should be independently resolved, but this is also an interesting twist.
@@ -1,12 +0,0 @@
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
icon_closed = "coffin"
icon_opened = "coffin_open"
/obj/structure/closet/coffin/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
@@ -2,8 +2,6 @@
name = "critter crate"
desc = "A crate designed for safe transport of animals. Only openable from the the outside."
icon_state = "critter"
icon_opened = "critteropen"
icon_closed = "critter"
var/already_opened = 0
var/content_mob = null
var/amount = 1
@@ -3,9 +3,8 @@
name = "fire axe cabinet"
desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if."
var/obj/item/weapon/twohanded/fireaxe/fireaxe = new/obj/item/weapon/twohanded/fireaxe
icon = 'icons/obj/wallmounts.dmi'
icon_state = "fireaxe1000"
icon_closed = "fireaxe1000"
icon_opened = "fireaxe1100"
anchored = 1
density = 0
wall_mounted = 1
@@ -1,8 +1,7 @@
/obj/structure/closet/athletic_mixed
name = "athletic wardrobe"
desc = "It's a storage unit for athletic wear."
icon_state = "mixed"
icon_closed = "mixed"
icon_door = "mixed"
/obj/structure/closet/athletic_mixed/New()
..()
@@ -40,8 +39,7 @@
/obj/structure/closet/lasertag/red
name = "red laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
icon_state = "red"
icon_closed = "red"
icon_door = "red"
/obj/structure/closet/lasertag/red/New()
..()
@@ -57,8 +55,7 @@
/obj/structure/closet/lasertag/blue
name = "blue laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
icon_state = "blue"
icon_closed = "blue"
icon_door = "blue"
/obj/structure/closet/lasertag/blue/New()
..()
@@ -1,38 +1,22 @@
/obj/structure/closet/cabinet
name = "cabinet"
desc = "Old will forever be in fashion."
icon_state = "cabinet_closed"
icon_closed = "cabinet_closed"
icon_opened = "cabinet_open"
/obj/structure/closet/cabinet/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
icon_state = "cabinet"
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
icon_state = "acloset"
icon_closed = "acloset"
icon_opened = "aclosetopen"
icon_state = "alien"
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
anchored = 0
icon_state = "syndicate"
/obj/structure/closet/gimmick/russian
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
/obj/structure/closet/gimmick/russian/New()
..()
@@ -51,9 +35,6 @@
/obj/structure/closet/gimmick/tacticool
name = "tacticool gear closet"
desc = "It's a storage unit for Tacticool gear."
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
/obj/structure/closet/gimmick/tacticool/New()
..()
@@ -76,16 +57,11 @@
/obj/structure/closet/thunderdome
name = "\improper Thunderdome closet"
desc = "Everything you need!"
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
anchored = 1
/obj/structure/closet/thunderdome/New()
..()
/obj/structure/closet/thunderdome/tdred
name = "red-team Thunderdome closet"
icon_door = "red"
/obj/structure/closet/thunderdome/tdred/New()
..()
@@ -110,9 +86,7 @@
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
icon_state = "syndicate1"
icon_closed = "syndicate1"
icon_opened = "syndicate1open"
icon_door = "green"
/obj/structure/closet/thunderdome/tdgreen/New()
..()
@@ -135,3 +109,16 @@
new /obj/item/clothing/head/helmet/thunderdome(src)
new /obj/item/clothing/head/helmet/thunderdome(src)
/obj/structure/closet/malf/suits
desc = "It's a storage unit for operational gear."
icon_state = "syndicate"
/obj/structure/closet/malf/suits/New()
..()
new /obj/item/weapon/tank/jetpack/void(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/head/helmet/space/nasavoid(src)
new /obj/item/clothing/suit/space/nasavoid(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/stock_parts/cell(src)
new /obj/item/device/multitool(src)
@@ -3,6 +3,7 @@
* Bartender
* Janitor
* Lawyer
* Coffin
*/
/*
@@ -11,8 +12,7 @@
/obj/structure/closet/gmcloset
name = "formal closet"
desc = "It's a storage unit for formal clothing."
icon_state = "black"
icon_closed = "black"
icon_door = "black"
/obj/structure/closet/gmcloset/New()
..()
@@ -37,8 +37,7 @@
/obj/structure/closet/chefcloset
name = "\proper chef's closet"
desc = "It's a storage unit for foodservice garments and mouse traps."
icon_state = "black"
icon_closed = "black"
icon_door = "black"
/obj/structure/closet/chefcloset/New()
..()
@@ -65,8 +64,7 @@
/obj/structure/closet/jcloset
name = "custodial closet"
desc = "It's a storage unit for janitorial clothes and gear."
icon_state = "mixed"
icon_closed = "mixed"
icon_door = "mixed"
/obj/structure/closet/jcloset/New()
..()
@@ -91,10 +89,10 @@
/obj/structure/closet/lawcloset
name = "legal closet"
desc = "It's a storage unit for courtroom apparel and items."
icon_state = "blue"
icon_closed = "blue"
icon_door = "blue"
/obj/structure/closet/lawcloset/New()
..()
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/lawyer/black(src)
new /obj/item/clothing/under/lawyer/red(src)
@@ -105,4 +103,9 @@
new /obj/item/clothing/under/lawyer/blacksuit(src)
new /obj/item/clothing/suit/toggle/lawyer/black(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/clothing/shoes/laceup(src)
new /obj/item/clothing/shoes/laceup(src)
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
@@ -2,31 +2,14 @@
name = "level-3 biohazard suit closet"
desc = "It's a storage unit for level-3 biohazard gear."
icon_state = "bio"
icon_closed = "bio"
icon_opened = "bioopen"
/obj/structure/closet/l3closet/New()
..()
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/structure/closet/l3closet/general
icon_state = "bio_general"
icon_closed = "bio_general"
icon_opened = "bio_generalopen"
/obj/structure/closet/l3closet/general/New()
..()
contents = list()
new /obj/item/clothing/suit/bio_suit/general( src )
new /obj/item/clothing/head/bio_hood/general( src )
/obj/structure/closet/l3closet/virology
icon_state = "bio_virology"
icon_closed = "bio_virology"
icon_opened = "bio_virologyopen"
icon_state = "bio_viro"
/obj/structure/closet/l3closet/virology/New()
..()
@@ -36,9 +19,7 @@
/obj/structure/closet/l3closet/security
icon_state = "bio_security"
icon_closed = "bio_security"
icon_opened = "bio_securityopen"
icon_state = "bio_sec"
/obj/structure/closet/l3closet/security/New()
..()
@@ -48,9 +29,7 @@
/obj/structure/closet/l3closet/janitor
icon_state = "bio_janitor"
icon_closed = "bio_janitor"
icon_opened = "bio_janitoropen"
icon_state = "bio_jan"
/obj/structure/closet/l3closet/janitor/New()
..()
@@ -60,9 +39,7 @@
/obj/structure/closet/l3closet/scientist
icon_state = "bio_scientist"
icon_closed = "bio_scientist"
icon_opened = "bio_scientistopen"
icon_state = "bio_viro"
/obj/structure/closet/l3closet/scientist/New()
..()
@@ -1,16 +0,0 @@
/obj/structure/closet/malf/suits
desc = "It's a storage unit for operational gear."
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
/obj/structure/closet/malf/suits/New()
..()
new /obj/item/weapon/tank/jetpack/void(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/head/helmet/space/nasavoid(src)
new /obj/item/clothing/suit/space/nasavoid(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/stock_parts/cell(src)
new /obj/item/device/multitool(src)
@@ -1,13 +1,7 @@
/obj/structure/closet/secure_closet/bar
name = "booze storage"
req_access = list(access_bar)
icon_state = "cabinetdetective_locked"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
icon_state = "cabinet"
/obj/structure/closet/secure_closet/bar/New()
..()
@@ -21,16 +15,3 @@
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
return
/obj/structure/closet/secure_closet/bar/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
@@ -1,12 +1,7 @@
/obj/structure/closet/secure_closet/cargotech
name = "cargo technician's locker"
req_access = list(access_cargo)
icon_state = "securecargo1"
icon_closed = "securecargo"
icon_locked = "securecargo1"
icon_opened = "securecargoopen"
icon_broken = "securecargobroken"
icon_off = "securecargooff"
icon_state = "cargo"
/obj/structure/closet/secure_closet/cargotech/New()
..()
@@ -15,18 +10,11 @@
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/head/soft(src)
// new /obj/item/weapon/cartridge/quartermaster(src)
return
/obj/structure/closet/secure_closet/quartermaster
name = "\proper quartermaster's locker"
req_access = list(access_qm)
icon_state = "secureqm1"
icon_closed = "secureqm"
icon_locked = "secureqm1"
icon_opened = "secureqmopen"
icon_broken = "secureqmbroken"
icon_off = "secureqmoff"
icon_state = "qm"
/obj/structure/closet/secure_closet/quartermaster/New()
..()
@@ -34,7 +22,6 @@
new /obj/item/clothing/under/rank/cargo(src)
new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/device/radio/headset/headset_cargo(src)
// new /obj/item/weapon/cartridge/quartermaster(src)
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/device/megaphone/cargo(src)
@@ -42,4 +29,3 @@
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/clothing/head/soft(src)
return
@@ -1,13 +1,7 @@
/obj/structure/closet/secure_closet/engineering_chief
name = "\proper chief engineer's locker"
req_access = list(access_ce)
icon_state = "securece1"
icon_closed = "securece"
icon_locked = "securece1"
icon_opened = "secureceopen"
icon_broken = "securecebroken"
icon_off = "secureceoff"
icon_state = "ce"
/obj/structure/closet/secure_closet/engineering_chief/New()
..()
@@ -35,18 +29,12 @@
new /obj/item/device/multitool(src)
new /obj/item/device/flash/handheld(src)
new /obj/item/clothing/glasses/meson/engine(src)
return
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
req_access = list(access_engine_equip)
icon_state = "secureengelec1"
icon_closed = "secureengelec"
icon_locked = "secureengelec1"
icon_opened = "toolclosetopen"
icon_broken = "secureengelecbroken"
icon_off = "secureengelecoff"
icon_state = "eng"
icon_door = "eng_elec"
/obj/structure/closet/secure_closet/engineering_electrical/New()
..()
@@ -61,20 +49,12 @@
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
return
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies locker"
req_access = list(access_engine_equip)
icon_state = "secureengweld1"
icon_closed = "secureengweld"
icon_locked = "secureengweld1"
icon_opened = "toolclosetopen"
icon_broken = "secureengweldbroken"
icon_off = "secureengweldoff"
icon_state = "eng"
icon_door = "eng_weld"
/obj/structure/closet/secure_closet/engineering_welding/New()
..()
@@ -84,20 +64,11 @@
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
return
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
req_access = list(access_engine_equip)
icon_state = "secureeng1"
icon_closed = "secureeng"
icon_locked = "secureeng1"
icon_opened = "secureengopen"
icon_broken = "secureengbroken"
icon_off = "secureengoff"
icon_state = "eng_secure"
/obj/structure/closet/secure_closet/engineering_personal/New()
..()
@@ -115,18 +86,11 @@
new /obj/item/tapeproj/engineering(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson/engine(src)
return
/obj/structure/closet/secure_closet/atmospherics
name = "\proper atmospheric technician's locker"
req_access = list(access_atmospherics)
icon_state = "secureatmos1"
icon_closed = "secureatmos"
icon_locked = "secureatmos1"
icon_opened = "secureatmosopen"
icon_broken = "secureatmosbroken"
icon_off = "secureatmosoff"
icon_state = "atmos"
/obj/structure/closet/secure_closet/atmospherics/New()
..()
@@ -139,5 +103,4 @@
new /obj/item/tapeproj/engineering(src)
new /obj/item/weapon/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
new /obj/item/clothing/head/hardhat/atmos(src)
return
new /obj/item/clothing/head/hardhat/atmos(src)
@@ -1,16 +1,5 @@
/obj/structure/closet/secure_closet/freezer
/obj/structure/closet/secure_closet/freezer/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
icon_state = "freezer"
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen Cabinet"
@@ -22,41 +11,19 @@
new /obj/item/weapon/reagent_containers/food/condiment/flour(src)
new /obj/item/weapon/reagent_containers/food/condiment/rice(src)
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
return
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
/obj/structure/closet/secure_closet/freezer/meat/New()
..()
for(var/i = 0, i < 4, i++)
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey(src)
return
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
/obj/structure/closet/secure_closet/freezer/fridge/New()
..()
@@ -66,22 +33,12 @@
new /obj/item/weapon/reagent_containers/food/condiment/soymilk(src)
for(var/i = 0, i < 2, i++)
new /obj/item/weapon/storage/fancy/egg_box(src)
return
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
desc = "This contains cold hard cash."
icon_state = "fridge1"
icon_closed = "fridge"
icon_locked = "fridge1"
icon_opened = "fridgeopen"
icon_broken = "fridgebroken"
icon_off = "fridge1"
req_access = list(access_heads_vault)
/obj/structure/closet/secure_closet/freezer/money/New()
..()
for(var/i = 0, i < 3, i++)
@@ -90,4 +47,3 @@
new /obj/item/stack/spacecash/c500(src)
for(var/i = 0, i < 6, i++)
new /obj/item/stack/spacecash/c200(src)
return
@@ -1,31 +1,24 @@
/obj/structure/closet/secure_closet/hydroponics
name = "botanist's locker"
req_access = list(access_hydroponics)
icon_state = "hydrosecure1"
icon_closed = "hydrosecure"
icon_locked = "hydrosecure1"
icon_opened = "hydrosecureopen"
icon_broken = "hydrosecurebroken"
icon_off = "hydrosecureoff"
icon_state = "hydro"
New()
..()
new /obj/item/clothing/suit/hooded/wintercoat/hydro(src)
switch(rand(1,2))
if(1)
new /obj/item/clothing/suit/apron(src)
if(2)
new /obj/item/clothing/suit/apron/overalls(src)
new /obj/item/weapon/storage/bag/plants/portaseeder(src)
new /obj/item/clothing/under/rank/hydroponics(src)
new /obj/item/device/analyzer/plant_analyzer(src)
new /obj/item/device/radio/headset/headset_srv(src)
new /obj/item/clothing/mask/bandana(src)
new /obj/item/weapon/minihoe(src)
new /obj/item/weapon/hatchet(src)
new /obj/item/weapon/storage/backpack/botany(src)
new /obj/item/weapon/storage/backpack/botany(src)
new /obj/item/weapon/storage/backpack/satchel_hyd(src)
new /obj/item/weapon/storage/backpack/satchel_hyd(src)
return
/obj/structure/closet/secure_closet/hydroponics/New()
..()
new /obj/item/clothing/suit/hooded/wintercoat/hydro(src)
switch(rand(1,2))
if(1)
new /obj/item/clothing/suit/apron(src)
if(2)
new /obj/item/clothing/suit/apron/overalls(src)
new /obj/item/weapon/storage/bag/plants/portaseeder(src)
new /obj/item/clothing/under/rank/hydroponics(src)
new /obj/item/device/analyzer/plant_analyzer(src)
new /obj/item/device/radio/headset/headset_srv(src)
new /obj/item/clothing/mask/bandana(src)
new /obj/item/weapon/minihoe(src)
new /obj/item/weapon/hatchet(src)
new /obj/item/weapon/storage/backpack/botany(src)
new /obj/item/weapon/storage/backpack/botany(src)
new /obj/item/weapon/storage/backpack/satchel_hyd(src)
new /obj/item/weapon/storage/backpack/satchel_hyd(src)
@@ -1,15 +1,9 @@
/obj/structure/closet/secure_closet/medical1
name = "medicine closet"
desc = "Filled to the brim with medical junk."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
icon_state = "med"
req_access = list(access_medical)
/obj/structure/closet/secure_closet/medical1/New()
..()
new /obj/item/weapon/reagent_containers/glass/beaker(src)
@@ -28,22 +22,12 @@
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
new /obj/item/weapon/storage/box/rxglasses(src)
return
/obj/structure/closet/secure_closet/medical2
name = "anesthetic closet"
desc = "Used to knock people out."
icon_state = "medical1"
icon_closed = "medical"
icon_locked = "medical1"
icon_opened = "medicalopen"
icon_broken = "medicalbroken"
icon_off = "medicaloff"
req_access = list(access_surgery)
/obj/structure/closet/secure_closet/medical2/New()
..()
new /obj/item/weapon/tank/internals/anesthetic(src)
@@ -52,19 +36,11 @@
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
return
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
req_access = list(access_surgery)
icon_state = "securemed1"
icon_closed = "securemed"
icon_locked = "securemed1"
icon_opened = "securemedopen"
icon_broken = "securemedbroken"
icon_off = "securemedoff"
icon_state = "med_secure"
/obj/structure/closet/secure_closet/medical3/New()
..()
@@ -83,17 +59,10 @@
new /obj/item/clothing/glasses/hud/health(src)
return
/obj/structure/closet/secure_closet/CMO
name = "\proper chief medical officer's locker"
req_access = list(access_cmo)
icon_state = "cmosecure1"
icon_closed = "cmosecure"
icon_locked = "cmosecure1"
icon_opened = "cmosecureopen"
icon_broken = "cmosecurebroken"
icon_off = "cmosecureoff"
icon_state = "cmo"
/obj/structure/closet/secure_closet/CMO/New()
..()
@@ -115,65 +84,25 @@
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash/handheld(src)
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
return
new /obj/item/cybernetic_implant/eyes/hud/medical(src)
/obj/structure/closet/secure_closet/animal
name = "animal control"
req_access = list(access_surgery)
/obj/structure/closet/secure_closet/animal/New()
..()
new /obj/item/device/assembly/signaler(src)
new /obj/item/device/electropack(src)
new /obj/item/device/electropack(src)
new /obj/item/device/electropack(src)
return
/obj/structure/closet/secure_closet/chemical
name = "chemical closet"
desc = "Store dangerous chemicals in here."
icon_state = "chemical1"
icon_closed = "chemical"
icon_locked = "chemical1"
icon_opened = "medicalopen"
icon_broken = "chemicalbroken"
icon_off = "chemicaloff"
req_access = list(access_chemistry)
icon_door = "chemical"
/obj/structure/closet/secure_closet/chemical/New()
..()
new /obj/item/weapon/storage/box/pillbottles(src)
new /obj/item/weapon/storage/box/pillbottles(src)
return
/obj/structure/closet/secure_closet/medical_wall
name = "first aid closet"
desc = "It's a secure wall-mounted storage unit for first aid supplies."
icon_state = "medical_wall_locked"
icon_closed = "medical_wall_unlocked"
icon_locked = "medical_wall_locked"
icon_opened = "medical_wall_open"
icon_broken = "medical_wall_spark"
icon_off = "medical_wall_off"
anchored = 1
density = 0
wall_mounted = 1
req_access = list(access_medical)
/obj/structure/closet/secure_closet/medical_wall/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
@@ -2,12 +2,7 @@
name = "commander's closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_captain)
icon_state = "capsecure1"
icon_closed = "capsecure"
icon_locked = "capsecure1"
icon_opened = "capsecureopen"
icon_broken = "capsecurebroken"
icon_off = "capsecureoff"
icon_state = "cap"
/obj/structure/closet/secure_closet/ertCom/New()
..()
@@ -24,18 +19,12 @@
new /obj/item/ammo_box/a357(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/weapon/gun/projectile/revolver/mateba(src)
return
/obj/structure/closet/secure_closet/ertSec
name = "security closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_specops)
icon_state = "hossecure1"
icon_closed = "hossecure"
icon_locked = "hossecure1"
icon_opened = "hossecureopen"
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
icon_state = "hos"
/obj/structure/closet/secure_closet/ertSec/New()
..()
@@ -45,18 +34,12 @@
new /obj/item/weapon/storage/box/handcuffs(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/shield/riot/tele(src)
return
/obj/structure/closet/secure_closet/ertMed
name = "medical closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_medical)
icon_state = "cmosecure1"
icon_closed = "cmosecure"
icon_locked = "cmosecure1"
icon_opened = "cmosecureopen"
icon_broken = "cmosecurebroken"
icon_off = "cmosecureoff"
icon_state = "cmo"
/obj/structure/closet/secure_closet/ertMed/New()
..()
@@ -68,18 +51,12 @@
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/defibrillator/compact/combat(src)
new /obj/machinery/bot/medbot(src)
return
/obj/structure/closet/secure_closet/ertEngi
name = "engineer closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_storage)
icon_state = "securece1"
icon_closed = "securece"
icon_locked = "securece1"
icon_opened = "secureceopen"
icon_broken = "securecebroken"
icon_off = "secureceoff"
icon_state = "ce"
/obj/structure/closet/secure_closet/ertEngi/New()
..()
@@ -92,4 +69,3 @@
new /obj/item/weapon/rcd_ammo/large(src)
new /obj/item/weapon/rcd_ammo/large(src)
new /obj/item/weapon/rcd_ammo/large(src)
return
@@ -13,8 +13,6 @@
else
new /obj/item/weapon/storage/backpack/satchel_norm(src)
new /obj/item/device/radio/headset( src )
return
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
@@ -24,36 +22,15 @@
contents.Cut()
new /obj/item/clothing/under/color/white( src )
new /obj/item/clothing/shoes/sneakers/white( src )
return
/obj/structure/closet/secure_closet/personal/cabinet
icon_state = "cabinetdetective_locked"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
/obj/structure/closet/secure_closet/personal/cabinet/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
icon_state = "cabinet"
/obj/structure/closet/secure_closet/personal/cabinet/New()
..()
contents = list()
new /obj/item/weapon/storage/backpack/satchel/withwallet( src )
new /obj/item/device/radio/headset( src )
return
/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob, params)
@@ -67,8 +44,7 @@
if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
//they can open all lockers, or nobody owns this, or they own this locker
src.locked = !( src.locked )
if(src.locked) src.icon_state = src.icon_locked
else src.icon_state = src.icon_closed
update_icon()
if(!src.registered_name)
src.registered_name = I.registered_name
@@ -1,12 +1,7 @@
/obj/structure/closet/secure_closet/scientist
name = "scientist's locker"
req_access = list(access_tox_storage)
icon_state = "secureres1"
icon_closed = "secureres"
icon_locked = "secureres1"
icon_opened = "secureresopen"
icon_broken = "secureresbroken"
icon_off = "secureresoff"
icon_state = "science"
/obj/structure/closet/secure_closet/scientist/New()
..()
@@ -21,19 +16,11 @@
new /obj/item/weapon/storage/backpack/science(src)
new /obj/item/weapon/storage/backpack/satchel_tox(src)
new /obj/item/weapon/storage/backpack/satchel_tox(src)
return
/obj/structure/closet/secure_closet/RD
name = "\proper research director's locker"
req_access = list(access_rd)
icon_state = "rdsecure1"
icon_closed = "rdsecure"
icon_locked = "rdsecure1"
icon_opened = "rdsecureopen"
icon_broken = "rdsecurebroken"
icon_off = "rdsecureoff"
icon_state = "rd"
/obj/structure/closet/secure_closet/RD/New()
..()
@@ -53,4 +40,3 @@
new /obj/item/clothing/suit/armor/reactive(src)
new /obj/item/device/flash/handheld(src)
new /obj/item/device/laser_pointer(src)
return
@@ -1,19 +1,23 @@
/obj/structure/closet/secure_closet
name = "secure locker"
desc = "It's an immobile card-locked storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "secure1"
density = 1
opened = 0
locked = 1
icon_closed = "secure"
var/icon_locked = "secure1"
icon_opened = "secureopen"
var/icon_broken = "securebroken"
var/icon_off = "secureoff"
icon_state = "secure"
wall_mounted = 0 //never solid (You can always pass over it)
health = 200
/obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
..()
if(!broken)
if(locked)
overlays += "locked"
else
overlays += "unlocked"
else
overlays += "off"
/obj/structure/closet/secure_closet/examine(mob/user)
..()
if(broken || opened || !ishuman(user))
@@ -41,12 +45,6 @@
return 0
return 1
/obj/structure/closet/secure_closet/close()
..()
if(broken)
icon_state = src.icon_off
return 1
/obj/structure/closet/secure_closet/emp_act(severity)
for(var/obj/O in src)
O.emp_act(severity)
@@ -69,10 +67,7 @@
for(var/mob/O in viewers(user, 3))
if((O.client && !( O.eye_blind )))
O << "<span class='notice'>[user] has [locked ? null : "un"]locked the locker.</span>"
if(src.locked)
src.icon_state = src.icon_locked
else
src.icon_state = src.icon_closed
update_icon()
else
user << "<span class='notice'>Access Denied</span>"
@@ -94,11 +89,14 @@
if(!broken)
broken = 1
locked = 0
desc = "It appears to be broken."
icon_state = icon_off
flick(icon_broken, src)
desc += "It appears to be broken."
update_icon()
for(var/mob/O in viewers(user, 3))
O.show_message("<span class='warning'>The locker has been broken by [user] with an electromagnetic card!</span>", 1, "You hear a faint electrical spark.", 2)
overlays += "sparking"
spawn(4) //overlays don't support flick so we have to cheat
update_icon()
/obj/structure/closet/secure_closet/relaymove(mob/user as mob)
if(user.stat || !isturf(src.loc))
@@ -121,16 +119,4 @@
return src.attackby(null, user)
/obj/structure/closet/secure_closet/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
overlays.Cut()
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
if(welded)
overlays += "welded"
else
icon_state = icon_opened
return src.attack_hand(user)
@@ -1,12 +1,7 @@
/obj/structure/closet/secure_closet/captains
name = "\proper captain's locker"
req_access = list(access_captain)
icon_state = "capsecure1"
icon_closed = "capsecure"
icon_locked = "capsecure1"
icon_opened = "capsecureopen"
icon_broken = "capsecurebroken"
icon_off = "capsecureoff"
icon_state = "cap"
/obj/structure/closet/secure_closet/captains/New()
..()
@@ -27,17 +22,11 @@
new /obj/item/clothing/glasses/sunglasses/gar/supergar(src)
new /obj/item/clothing/gloves/color/captain(src)
new /obj/item/weapon/gun/energy/gun(src)
return
/obj/structure/closet/secure_closet/hop
name = "\proper head of personnel's locker"
req_access = list(access_hop)
icon_state = "hopsecure1"
icon_closed = "hopsecure"
icon_locked = "hopsecure1"
icon_opened = "hopsecureopen"
icon_broken = "hopsecurebroken"
icon_off = "hopsecureoff"
icon_state = "hop"
/obj/structure/closet/secure_closet/hop/New()
..()
@@ -56,19 +45,11 @@
new /obj/item/weapon/mining_voucher(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/clothing/tie/petcollar(src)
return
/obj/structure/closet/secure_closet/hos
name = "\proper head of security's locker"
req_access = list(access_hos)
icon_state = "hossecure1"
icon_closed = "hossecure"
icon_locked = "hossecure1"
icon_opened = "hossecureopen"
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
icon_state = "hos"
/obj/structure/closet/secure_closet/hos/New()
..()
@@ -91,19 +72,11 @@
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/storage/belt/security/full(src)
new /obj/item/weapon/gun/energy/gun/hos(src)
return
/obj/structure/closet/secure_closet/warden
name = "\proper warden's locker"
req_access = list(access_armory)
icon_state = "wardensecure1"
icon_closed = "wardensecure"
icon_locked = "wardensecure1"
icon_opened = "wardensecureopen"
icon_broken = "wardensecurebroken"
icon_off = "wardensecureoff"
icon_state = "warden"
/obj/structure/closet/secure_closet/warden/New()
..()
@@ -122,19 +95,11 @@
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/storage/belt/security/full(src)
new /obj/item/weapon/gun/energy/gun/advtaser(src)
return
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(access_security)
icon_state = "sec1"
icon_closed = "sec"
icon_locked = "sec1"
icon_opened = "secopen"
icon_broken = "secbroken"
icon_off = "secoff"
icon_state = "sec"
/obj/structure/closet/secure_closet/security/New()
..()
@@ -148,58 +113,45 @@
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/storage/belt/security/full(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
return
/obj/structure/closet/secure_closet/security/sec
/obj/structure/closet/secure_closet/security/sec/New()
new /obj/item/weapon/melee/baton/loaded(src)
..()
return
new /obj/item/weapon/melee/baton/loaded(src)
/obj/structure/closet/secure_closet/security/cargo
/obj/structure/closet/secure_closet/security/cargo/New()
..()
new /obj/item/clothing/tie/armband/cargo(src)
new /obj/item/device/encryptionkey/headset_cargo(src)
..()
return
/obj/structure/closet/secure_closet/security/engine
/obj/structure/closet/secure_closet/security/engine/New()
..()
new /obj/item/clothing/tie/armband/engine(src)
new /obj/item/device/encryptionkey/headset_eng(src)
..()
return
/obj/structure/closet/secure_closet/security/science
/obj/structure/closet/secure_closet/security/science/New()
..()
new /obj/item/clothing/tie/armband/science(src)
new /obj/item/device/encryptionkey/headset_sci(src)
..()
return
/obj/structure/closet/secure_closet/security/med
/obj/structure/closet/secure_closet/security/med/New()
..()
new /obj/item/clothing/tie/armband/medblue(src)
new /obj/item/device/encryptionkey/headset_med(src)
..()
return
/obj/structure/closet/secure_closet/detective
name = "\proper detective's cabinet"
req_access = list(access_forensics_lockers)
icon_state = "cabinetdetective_locked"
icon_closed = "cabinetdetective"
icon_locked = "cabinetdetective_locked"
icon_opened = "cabinetdetective_open"
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
icon_state = "cabinet"
/obj/structure/closet/secure_closet/detective/New()
..()
@@ -221,19 +173,6 @@
new /obj/item/ammo_box/c38(src)
new /obj/item/weapon/storage/belt/holster(src)
new /obj/item/weapon/gun/projectile/revolver/detective(src)
return
/obj/structure/closet/secure_closet/detective/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
/obj/structure/closet/secure_closet/injection
name = "lethal injections"
@@ -247,7 +186,6 @@
new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src)
new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(access_brig)
@@ -255,11 +193,9 @@
var/id = null
/obj/structure/closet/secure_closet/brig/New()
..()
new /obj/item/clothing/under/rank/prisoner( src )
new /obj/item/clothing/shoes/sneakers/orange( src )
return
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
@@ -275,30 +211,3 @@
new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/weapon/storage/briefcase(src)
return
/obj/structure/closet/secure_closet/wall
name = "wall locker"
req_access = list(access_security)
icon_state = "wall-locker1"
density = 1
icon_closed = "wall-locker"
icon_locked = "wall-locker1"
icon_opened = "wall-lockeropen"
icon_broken = "wall-lockerbroken"
icon_off = "wall-lockeroff"
//too small to put a man in
large = 0
/obj/structure/closet/secure_closet/wall/update_icon()
if(broken)
icon_state = icon_broken
else
if(!opened)
if(locked)
icon_state = icon_locked
else
icon_state = icon_closed
else
icon_state = icon_opened
@@ -2,8 +2,6 @@
name = "armory closet"
desc = "Why is this here?"
icon_state = "syndicate"
icon_closed = "syndicate"
icon_opened = "syndicateopen"
/obj/structure/closet/syndicate/personal
desc = "It's a personal storage unit for operative gear."
@@ -107,6 +105,8 @@
desc = "It's an emergency storage closet for repairs."
/obj/structure/closet/syndicate/resources/everything/New()
..()
contents = list()
var/list/resources = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/glass,
@@ -16,8 +16,6 @@
name = "emergency closet"
desc = "It's a storage unit for emergency breath masks and O2 tanks."
icon_state = "emergency"
icon_closed = "emergency"
icon_opened = "emergencyopen"
/obj/structure/closet/emcloset/New()
..()
@@ -53,19 +51,13 @@
new /obj/structure/closet/firecloset(src.loc)
qdel(src)*/
/obj/structure/closet/emcloset/legacy/New()
new /obj/item/weapon/tank/internals/oxygen(src)
new /obj/item/clothing/mask/gas(src)
/*
* Fire Closet
*/
/obj/structure/closet/firecloset
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "firecloset"
icon_closed = "firecloset"
icon_opened = "fireclosetopen"
icon_state = "fire"
/obj/structure/closet/firecloset/New()
..()
@@ -87,24 +79,17 @@
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
/obj/structure/closet/firecloset/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/*
* Tool Closet
*/
/obj/structure/closet/toolcloset
name = "tool closet"
desc = "It's a storage unit for tools."
icon_state = "toolcloset"
icon_closed = "toolcloset"
icon_opened = "toolclosetopen"
icon_state = "eng"
icon_door = "eng_tool"
/obj/structure/closet/toolcloset/New()
..()
if(prob(40))
new /obj/item/clothing/suit/hazardvest(src)
if(prob(70))
@@ -143,9 +128,8 @@
/obj/structure/closet/radiation
name = "radiation suit closet"
desc = "It's a storage unit for rad-protective suits."
icon_state = "radsuitcloset"
icon_opened = "toolclosetopen"
icon_closed = "radsuitcloset"
icon_state = "eng"
icon_door = "eng_rad"
/obj/structure/closet/radiation/New()
..()
@@ -158,9 +142,7 @@
/obj/structure/closet/bombcloset
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bombsuit"
icon_closed = "bombsuit"
icon_opened = "bombsuitopen"
icon_state = "bomb"
/obj/structure/closet/bombcloset/New()
..()
@@ -173,9 +155,7 @@
/obj/structure/closet/bombclosetsecurity
name = "\improper EOD closet"
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bombsuitsec"
icon_closed = "bombsuitsec"
icon_opened = "bombsuitsecopen"
icon_state = "bomb"
/obj/structure/closet/bombclosetsecurity/New()
..()
@@ -184,38 +164,6 @@
new /obj/item/clothing/shoes/sneakers/brown( src )
new /obj/item/clothing/head/bomb_hood/security( src )
/*
* Hydrant
*/
/obj/structure/closet/hydrant //wall mounted fire closet
name = "fire-safety closet"
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "hydrant"
icon_closed = "hydrant"
icon_opened = "hydrant_open"
anchored = 1
density = 0
wall_mounted = 1
/*
* First Aid
*/
/obj/structure/closet/medical_wall //wall mounted medical closet
name = "first-aid closet"
desc = "It's wall-mounted storage unit for first aid supplies."
icon_state = "medical_wall"
icon_closed = "medical_wall"
icon_opened = "medical_wall_open"
anchored = 1
density = 0
wall_mounted = 1
/obj/structure/closet/medical_wall/update_icon()
if(!opened)
icon_state = icon_closed
else
icon_state = icon_opened
/*
* Ammunition
*/
@@ -232,4 +180,3 @@
new /obj/item/ammo_casing/shotgun/beanbag(src)
new /obj/item/ammo_casing/shotgun/beanbag(src)
new /obj/item/ammo_casing/shotgun/beanbag(src)
@@ -1,10 +1,10 @@
/obj/structure/closet/wardrobe
name = "wardrobe"
desc = "It's a storage unit for standard-issue Nanotrasen attire."
icon_state = "blue"
icon_closed = "blue"
icon_door = "blue"
/obj/structure/closet/wardrobe/New()
..()
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/color/blue(src)
@@ -16,10 +16,10 @@
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
icon_state = "red"
icon_closed = "red"
icon_door = "red"
/obj/structure/closet/wardrobe/red/New()
..()
new /obj/item/weapon/storage/backpack/security(src)
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
@@ -42,10 +42,10 @@
/obj/structure/closet/wardrobe/pink
name = "pink wardrobe"
icon_state = "pink"
icon_closed = "pink"
icon_door = "pink"
/obj/structure/closet/wardrobe/pink/New()
..()
new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/color/pink(src)
@@ -56,10 +56,10 @@
/obj/structure/closet/wardrobe/black
name = "black wardrobe"
icon_state = "black"
icon_closed = "black"
icon_door = "black"
/obj/structure/closet/wardrobe/black/New()
..()
new /obj/item/clothing/under/color/black(src)
new /obj/item/clothing/under/color/black(src)
new /obj/item/clothing/under/color/black(src)
@@ -84,10 +84,10 @@
/obj/structure/closet/wardrobe/chaplain_black
name = "chapel wardrobe"
desc = "It's a storage unit for Nanotrasen-approved religious attire."
icon_state = "black"
icon_closed = "black"
icon_door = "black"
/obj/structure/closet/wardrobe/chaplain_black/New()
..()
new /obj/item/clothing/under/rank/chaplain(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/suit/nun(src)
@@ -102,10 +102,10 @@
/obj/structure/closet/wardrobe/green
name = "green wardrobe"
icon_state = "green"
icon_closed = "green"
icon_door = "green"
/obj/structure/closet/wardrobe/green/New()
..()
new /obj/item/clothing/under/color/green(src)
new /obj/item/clothing/under/color/green(src)
new /obj/item/clothing/under/color/green(src)
@@ -120,10 +120,10 @@
/obj/structure/closet/wardrobe/orange
name = "prison wardrobe"
desc = "It's a storage unit for Nanotrasen-regulation prisoner attire."
icon_state = "orange"
icon_closed = "orange"
icon_door = "orange"
/obj/structure/closet/wardrobe/orange/New()
..()
new /obj/item/clothing/under/rank/prisoner(src)
new /obj/item/clothing/under/rank/prisoner(src)
new /obj/item/clothing/under/rank/prisoner(src)
@@ -135,10 +135,10 @@
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
icon_state = "yellow"
icon_closed = "yellow"
icon_door = "yellow"
/obj/structure/closet/wardrobe/yellow/New()
..()
new /obj/item/clothing/under/color/yellow(src)
new /obj/item/clothing/under/color/yellow(src)
new /obj/item/clothing/under/color/yellow(src)
@@ -152,10 +152,10 @@
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
icon_state = "atmos"
icon_closed = "atmos"
icon_door = "atmos"
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
..()
new /obj/item/clothing/under/rank/atmospheric_technician(src)
new /obj/item/clothing/under/rank/atmospheric_technician(src)
new /obj/item/clothing/under/rank/atmospheric_technician(src)
@@ -171,10 +171,10 @@
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
icon_state = "yellow"
icon_closed = "yellow"
icon_door = "yellow"
/obj/structure/closet/wardrobe/engineering_yellow/New()
..()
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer(src)
new /obj/item/clothing/under/rank/engineer(src)
@@ -186,10 +186,10 @@
/obj/structure/closet/wardrobe/white
name = "white wardrobe"
icon_state = "white"
icon_closed = "white"
icon_door = "white"
/obj/structure/closet/wardrobe/white/New()
..()
new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/color/white(src)
@@ -205,6 +205,7 @@
name = "medical doctor's wardrobe"
/obj/structure/closet/wardrobe/white/medical/New()
..()
new /obj/item/clothing/under/rank/nursesuit (src)
new /obj/item/clothing/head/nursehat (src)
new /obj/item/clothing/under/rank/medical/blue(src)
@@ -223,10 +224,10 @@
/obj/structure/closet/wardrobe/pjs
name = "pajama wardrobe"
icon_state = "white"
icon_closed = "white"
icon_door = "white"
/obj/structure/closet/wardrobe/pjs/New()
..()
new /obj/item/clothing/under/pj/red(src)
new /obj/item/clothing/under/pj/red(src)
new /obj/item/clothing/under/pj/blue(src)
@@ -240,10 +241,10 @@
/obj/structure/closet/wardrobe/toxins_white
name = "toxins wardrobe"
icon_state = "white"
icon_closed = "white"
icon_door = "white"
/obj/structure/closet/wardrobe/toxins_white/New()
..()
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist(src)
new /obj/item/clothing/under/rank/scientist(src)
@@ -258,10 +259,10 @@
/obj/structure/closet/wardrobe/robotics_black
name = "robotics wardrobe"
icon_state = "black"
icon_closed = "black"
icon_door = "black"
/obj/structure/closet/wardrobe/robotics_black/New()
..()
new /obj/item/clothing/under/rank/roboticist(src)
new /obj/item/clothing/under/rank/roboticist(src)
new /obj/item/clothing/suit/toggle/labcoat(src)
@@ -281,10 +282,10 @@
/obj/structure/closet/wardrobe/chemistry_white
name = "chemistry wardrobe"
icon_state = "white"
icon_closed = "white"
icon_door = "white"
/obj/structure/closet/wardrobe/chemistry_white/New()
..()
new /obj/item/clothing/under/rank/chemist(src)
new /obj/item/clothing/under/rank/chemist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
@@ -300,10 +301,10 @@
/obj/structure/closet/wardrobe/genetics_white
name = "genetics wardrobe"
icon_state = "white"
icon_closed = "white"
icon_door = "white"
/obj/structure/closet/wardrobe/genetics_white/New()
..()
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
@@ -319,10 +320,10 @@
/obj/structure/closet/wardrobe/virology_white
name = "virology wardrobe"
icon_state = "white"
icon_closed = "white"
icon_door = "white"
/obj/structure/closet/wardrobe/virology_white/New()
..()
new /obj/item/clothing/under/rank/virologist(src)
new /obj/item/clothing/under/rank/virologist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
@@ -340,10 +341,10 @@
/obj/structure/closet/wardrobe/grey
name = "grey wardrobe"
icon_state = "grey"
icon_closed = "grey"
icon_door = "grey"
/obj/structure/closet/wardrobe/grey/New()
..()
new /obj/item/clothing/under/color/grey(src)
new /obj/item/clothing/under/color/grey(src)
new /obj/item/clothing/under/color/grey(src)
@@ -370,10 +371,10 @@
/obj/structure/closet/wardrobe/mixed
name = "mixed wardrobe"
icon_state = "mixed"
icon_closed = "mixed"
icon_door = "mixed"
/obj/structure/closet/wardrobe/mixed/New()
..()
if(prob(40))
new /obj/item/clothing/suit/jacket(src)
if(prob(40))
@@ -3,82 +3,44 @@
/obj/structure/closet/crate
name = "crate"
desc = "A rectangular steel crate."
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
density = 1
icon_opened = "crateopen"
icon_closed = "crate"
icon = 'icons/obj/crates.dmi'
var/icon_crate = "crate"
req_access = null
opened = 0
// mouse_drag_pointer = MOUSE_ACTIVE_POINTER //???
var/rigged = 0
var/sound_effect_open = 'sound/machines/click.ogg'
var/sound_effect_close = 'sound/machines/click.ogg'
/obj/structure/closet/crate/update_icon()
if(opened)
icon_state = "[icon_crate]open"
else
icon_state = icon_crate
/obj/structure/closet/crate/internals
desc = "A internals crate."
name = "internals crate"
icon = 'icons/obj/storage.dmi'
icon_state = "o2crate"
density = 1
icon_opened = "o2crateopen"
icon_closed = "o2crate"
icon_crate = "o2crate"
/obj/structure/closet/crate/trashcart
desc = "A heavy, metal trashcart with wheels."
name = "trash cart"
icon = 'icons/obj/storage.dmi'
icon_state = "trashcart"
density = 1
icon_opened = "trashcartopen"
icon_closed = "trashcart"
/*these aren't needed anymore
/obj/structure/closet/crate/hat
desc = "A crate filled with Valuable Collector's Hats!."
name = "Hat Crate"
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
density = 1
icon_opened = "crateopen"
icon_closed = "crate"
/obj/structure/closet/crate/contraband
name = "Poster crate"
desc = "A random assortment of posters manufactured by providers NOT listed under Nanotrasen's whitelist."
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
density = 1
icon_opened = "crateopen"
icon_closed = "crate"
*/
icon_crate = "trashcart"
/obj/structure/closet/crate/medical
desc = "A medical crate."
name = "medical crate"
icon = 'icons/obj/storage.dmi'
icon_state = "medicalcrate"
density = 1
icon_opened = "medicalcrateopen"
icon_closed = "medicalcrate"
icon_crate = "medicalcrate"
/obj/structure/closet/crate/rcd
desc = "A crate for the storage of the RCD."
name = "\improper RCD crate"
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
density = 1
icon_opened = "crateopen"
icon_closed = "crate"
icon_crate = "crate"
/obj/structure/closet/crate/freezer
desc = "A freezer."
name = "freezer"
icon = 'icons/obj/storage.dmi'
icon_state = "freezer"
density = 1
icon_opened = "freezeropen"
icon_closed = "freezer"
icon_crate = "freezer"
var/target_temp = T0C - 40
var/cooling_power = 40
@@ -104,119 +66,7 @@
/obj/structure/closet/crate/radiation
desc = "A crate with a radiation sign on it."
name = "radioactive gear crate"
icon = 'icons/obj/storage.dmi'
icon_state = "radiation"
density = 1
icon_opened = "radiationopen"
icon_closed = "radiation"
/obj/structure/closet/crate/secure/weapon
desc = "A secure weapons crate."
name = "weapons crate"
icon = 'icons/obj/storage.dmi'
icon_state = "weaponcrate"
density = 1
icon_opened = "weaponcrateopen"
icon_closed = "weaponcrate"
/obj/structure/closet/crate/secure/plasma
desc = "A secure plasma crate."
name = "plasma crate"
icon = 'icons/obj/storage.dmi'
icon_state = "plasmacrate"
density = 1
icon_opened = "plasmacrateopen"
icon_closed = "plasmacrate"
/obj/structure/closet/crate/secure/gear
desc = "A secure gear crate."
name = "gear crate"
icon = 'icons/obj/storage.dmi'
icon_state = "secgearcrate"
density = 1
icon_opened = "secgearcrateopen"
icon_closed = "secgearcrate"
/obj/structure/closet/crate/secure/hydrosec
desc = "A crate with a lock on it, painted in the scheme of the station's botanists."
name = "secure hydroponics crate"
icon = 'icons/obj/storage.dmi'
icon_state = "hydrosecurecrate"
density = 1
icon_opened = "hydrosecurecrateopen"
icon_closed = "hydrosecurecrate"
/obj/structure/closet/crate/secure/bin
desc = "A secure bin."
name = "secure bin"
icon_state = "largebins"
icon_opened = "largebinsopen"
icon_closed = "largebins"
redlight = "largebinr"
greenlight = "largebing"
sparks = "largebinsparks"
emag = "largebinemag"
/obj/structure/closet/crate/secure
desc = "A secure crate."
name = "secure crate"
icon_state = "securecrate"
icon_opened = "securecrateopen"
icon_closed = "securecrate"
var/redlight = "securecrater"
var/greenlight = "securecrateg"
var/sparks = "securecratesparks"
var/emag = "securecrateemag"
broken = 0
locked = 1
health = 1000
/obj/structure/closet/crate/hydroponics
name = "hydroponics crate"
desc = "All you need to destroy those pesky weeds and pests."
icon = 'icons/obj/storage.dmi'
icon_state = "hydrocrate"
icon_opened = "hydrocrateopen"
icon_closed = "hydrocrate"
density = 1
/obj/structure/closet/crate/hydroponics/prespawned
//This exists so the prespawned hydro crates spawn with their contents.
/* name = "Hydroponics crate"
desc = "All you need to destroy those pesky weeds and pests."
icon = 'icons/obj/storage.dmi'
icon_state = "hydrocrate"
icon_opened = "hydrocrateopen"
icon_closed = "hydrocrate"
density = 1*/
/obj/structure/closet/crate/hydroponics/prespawned/New()
..()
new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
new /obj/item/weapon/minihoe(src)
// new /obj/item/weapon/reagent_containers/spray/weedspray(src)
// new /obj/item/weapon/reagent_containers/spray/weedspray(src)
// new /obj/item/weapon/reagent_containers/spray/pestspray(src)
// new /obj/item/weapon/reagent_containers/spray/pestspray(src)
// new /obj/item/weapon/reagent_containers/spray/pestspray(src)
/obj/structure/closet/crate/secure/New()
..()
if(locked)
overlays.Cut()
overlays += redlight
else
overlays.Cut()
overlays += greenlight
/obj/structure/closet/crate/rcd/New()
..()
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd(src)
icon_crate = "radiation"
/obj/structure/closet/crate/radiation/New()
..()
@@ -229,12 +79,76 @@
new /obj/item/clothing/suit/radiation(src)
new /obj/item/clothing/head/radiation(src)
/obj/structure/closet/crate/hydroponics
name = "hydroponics crate"
desc = "All you need to destroy those pesky weeds and pests."
icon = 'icons/obj/storage.dmi'
icon_crate = "hydrocrate"
/obj/structure/closet/crate/hydroponics/prespawned
/obj/structure/closet/crate/hydroponics/prespawned/New()
..()
new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
new /obj/item/weapon/reagent_containers/spray/plantbgone(src)
new /obj/item/weapon/minihoe(src)
/obj/structure/closet/crate/secure
desc = "A secure crate."
name = "secure crate"
icon_crate = "securecrate"
var/redlight = "securecrater"
var/greenlight = "securecrateg"
var/sparks = "securecratesparks"
var/emag = "securecrateemag"
locked = 1
health = 1000
/obj/structure/closet/crate/secure/weapon
desc = "A secure weapons crate."
name = "weapons crate"
icon = 'icons/obj/storage.dmi'
icon_crate = "weaponcrate"
/obj/structure/closet/crate/secure/plasma
desc = "A secure plasma crate."
name = "plasma crate"
icon = 'icons/obj/storage.dmi'
icon_crate = "plasmacrate"
/obj/structure/closet/crate/secure/gear
desc = "A secure gear crate."
name = "gear crate"
icon = 'icons/obj/storage.dmi'
icon_crate = "secgearcrate"
/obj/structure/closet/crate/secure/hydrosec
desc = "A crate with a lock on it, painted in the scheme of the station's botanists."
name = "secure hydroponics crate"
icon = 'icons/obj/storage.dmi'
icon_crate = "hydrosecurecrate"
/obj/structure/closet/crate/secure/New()
..()
overlays.Cut()
if(locked)
overlays += redlight
else
overlays += greenlight
/obj/structure/closet/crate/rcd/New()
..()
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd_ammo(src)
new /obj/item/weapon/rcd(src)
/obj/structure/closet/crate/open()
playsound(src.loc, sound_effect_open, 15, 1, -3)
dump_contents()
icon_state = icon_opened
update_icon()
src.opened = 1
return 1
@@ -243,7 +157,7 @@
take_contents()
icon_state = icon_closed
update_icon()
src.opened = 0
return 1
@@ -1,7 +1,7 @@
/obj/structure/largecrate
name = "large crate"
desc = "A hefty wooden crate."
icon = 'icons/obj/storage.dmi'
icon = 'icons/obj/crates.dmi'
icon_state = "densecrate"
density = 1
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/structure/extinguisher_cabinet
name = "extinguisher cabinet"
desc = "A small wall mounted cabinet designed to hold a fire extinguisher."
icon = 'icons/obj/closet.dmi'
icon = 'icons/obj/wallmounts.dmi'
icon_state = "extinguisher_closed"
anchored = 1
density = 0
+96
View File
@@ -0,0 +1,96 @@
//GUNCASES//
/obj/structure/guncase
name = "gun locker"
desc = "A locker that holds guns."
icon = 'icons/obj/closet.dmi'
icon_state = "shotguncase"
anchored = 0
density = 1
opacity = 0
var/case_type = null
var/gun_category = /obj/item/weapon/gun
var/open = 1
var/capacity = 4
/obj/structure/guncase/New()
..()
update_icon()
/obj/structure/guncase/initialize()
..()
for(var/obj/item/I in loc.contents)
if(istype(I, gun_category))
I.loc = src
if(contents.len >= capacity)
break
update_icon()
/obj/structure/guncase/update_icon()
overlays.Cut()
for(var/i = contents.len, i >= 1, i--)
overlays += image(icon = src.icon, icon_state = "[case_type]", pixel_x = 4 * (i -1) )
if(open)
overlays += "[icon_state]_open"
else
overlays += "[icon_state]_door"
/obj/structure/guncase/attackby(obj/item/I, mob/user, params)
if(isrobot(user) || isalien(user))
return
if(istype(I, gun_category))
if(contents.len < capacity && open)
user.drop_item()
contents += I
user << "<span class='notice'>You place [I] in [src].</span>"
update_icon()
return
open = !open
update_icon()
/obj/structure/guncase/attack_hand(mob/user)
if(isrobot(usr) || isalien(usr))
return
if(contents.len && open)
ShowWindow(user)
else
open = !open
update_icon()
/obj/structure/guncase/proc/ShowWindow(mob/user)
var/dat = {"<div class='block'>
<h3>Stored Guns</h3>
<table align='center'>"}
for(var/i = contents.len, i >= 1, i--)
var/obj/item/I = contents[i]
dat += "<tr><A href='?src=\ref[src];retrieve=\ref[I]'>[I.name]</A><br>"
dat += "</table></div>"
var/datum/browser/popup = new(user, "gunlocker", "<div align='center'>[name]</div>", 350, 300)
popup.set_content(dat)
popup.open(0)
/obj/structure/guncase/Topic(href, href_list)
if(href_list["retrieve"])
var/obj/item/O = locate(href_list["retrieve"])
if(!usr.canUseTopic(src))
return
if(ishuman(usr))
if(!usr.get_active_hand())
usr.put_in_hands(O)
else
O.loc = get_turf(src)
update_icon()
/obj/structure/guncase/shotgun
name = "shotgun locker"
desc = "A locker that holds shotguns."
case_type = "shotgun"
gun_category = /obj/item/weapon/gun/projectile/shotgun
/obj/structure/guncase/ecase
name = "energy gun locker"
desc = "A locker that holds energy guns."
icon_state = "ecase"
case_type = "egun"
gun_category = /obj/item/weapon/gun/energy/gun
@@ -60,8 +60,7 @@
M.pixel_x = initial(M.pixel_x)
M.pixel_y = initial(M.pixel_y)
if(M.lying)
var/lying_pixel_y_offset = -6
M.pixel_y += lying_pixel_y_offset
M.pixel_y = M.lying_pixel_offset
overlays.Cut()
/obj/structure/stool/bed/nest/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
@@ -60,8 +60,7 @@
icon_state = "down"
anchored = 0
/obj/structure/stool/bed/roller/post_buckle_mob(mob/M)
/obj/structure/stool/bed/roller/post_buckle_mob(mob/living/M)
if(M == buckled_mob)
density = 1
icon_state = "up"
@@ -71,8 +70,7 @@
icon_state = "down"
M.pixel_y = initial(M.pixel_y)
if(M.lying)
var/lying_pixel_y_offset = -6
M.pixel_y += lying_pixel_y_offset
M.pixel_y = M.lying_pixel_offset
/obj/item/roller