diff --git a/code/__defines/_layers.dm b/code/__defines/_layers.dm
index 1a966fa0160..ecfe6dd7088 100644
--- a/code/__defines/_layers.dm
+++ b/code/__defines/_layers.dm
@@ -12,6 +12,7 @@
#define CABLE_LAYER 2.44
#define ABOVE_CABLE_LAYER (CABLE_LAYER + 0.1)
#define DOOR_OPEN_LAYER 2.7 //Under all objects if opened. 2.7 due to tables being at 2.6
+#define BELOW_OBJ_LAYER 2.9
#define ABOVE_OBJ_LAYER 3.01
#define UNDERDOOR 3.09 //Just barely under a closed door.
#define DOOR_CLOSED_LAYER 3.1 //Above most items if closed
@@ -46,4 +47,4 @@
#define BLOB_NODE_LAYER 4.12
#define BLOB_CORE_LAYER 4.13
-#define CLICKCATCHER_PLANE -100
\ No newline at end of file
+#define CLICKCATCHER_PLANE -100
diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm
index f03cc560f4d..1c4a97ac147 100644
--- a/code/game/gamemodes/events.dm
+++ b/code/game/gamemodes/events.dm
@@ -48,7 +48,7 @@ var/hadevent = 0
for (var/obj/structure/closet/secure_closet/brig/temp_closet in A)
temp_closet.locked = 0
- temp_closet.icon_state = temp_closet.icon_closed
+ temp_closet.update_icon()
for (var/obj/machinery/door/airlock/security/temp_airlock in A)
spawn(0) temp_airlock.prison_open()
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index bf83084d85c..dd7f62c8c2a 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -39,7 +39,7 @@
id = /obj/item/card/id/navy
shoes = /obj/item/clothing/shoes/workboots
r_pocket = /obj/item/device/t_scanner
-
+
headset = /obj/item/device/radio/headset/heads/ce
bowman = /obj/item/device/radio/headset/heads/ce/alt
double_headset = /obj/item/device/radio/headset/alt/double/ce
@@ -48,7 +48,7 @@
tab_pda = /obj/item/modular_computer/handheld/pda/engineering/ce
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering/ce
tablet = /obj/item/modular_computer/handheld/preset/engineering/ce
-
+
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel_eng
dufflebag = /obj/item/storage/backpack/duffel/eng
@@ -93,7 +93,7 @@
id = /obj/item/card/id/silver
shoes = /obj/item/clothing/shoes/workboots
r_pocket = /obj/item/device/t_scanner
-
+
headset = /obj/item/device/radio/headset/headset_eng
bowman = /obj/item/device/radio/headset/headset_eng/alt
double_headset = /obj/item/device/radio/headset/alt/double/eng
@@ -102,7 +102,7 @@
tab_pda = /obj/item/modular_computer/handheld/pda/engineering
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering
tablet = /obj/item/modular_computer/handheld/preset/engineering
-
+
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel_eng
dufflebag = /obj/item/storage/backpack/duffel/eng
@@ -144,7 +144,7 @@
belt = /obj/item/storage/belt/utility
id = /obj/item/card/id/silver
shoes = /obj/item/clothing/shoes/workboots
-
+
headset = /obj/item/device/radio/headset/headset_eng
bowman = /obj/item/device/radio/headset/headset_eng/alt
double_headset = /obj/item/device/radio/headset/alt/double/eng
@@ -195,7 +195,7 @@
shoes = /obj/item/clothing/shoes/orange
head = /obj/item/clothing/head/beret/engineering
belt = /obj/item/storage/belt/utility
-
+
belt_contents = list(
/obj/item/weldingtool = 1,
/obj/item/crowbar = 1,
@@ -216,4 +216,4 @@
tab_pda = /obj/item/modular_computer/handheld/pda/engineering
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering
- tablet = /obj/item/modular_computer/handheld/preset/engineering
\ No newline at end of file
+ tablet = /obj/item/modular_computer/handheld/preset/engineering
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index d4e8770655b..16acd97b432 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -109,7 +109,7 @@
if(C.broken) continue
if(C.opened && !C.close()) continue
C.locked = 1
- C.icon_state = C.icon_locked
+ C.update_icon()
timing = 1
@@ -139,7 +139,7 @@
if(C.opened)
continue
C.locked = 0
- C.icon_state = C.icon_closed
+ C.update_icon()
if(broadcast)
broadcast_security_hud_message("The timer for [id] has expired.", src)
diff --git a/code/game/machinery/walllockers.dm b/code/game/machinery/walllockers.dm
deleted file mode 100644
index 126039fb7b7..00000000000
--- a/code/game/machinery/walllockers.dm
+++ /dev/null
@@ -1,33 +0,0 @@
-/obj/structure/walllocker
- name = "Wall Locker"
- icon = 'icons/obj/lockwall.dmi'
- icon_state = "emerg"
- var/list/spawnitems = list()
- anchored = 1
- var/amount = 3 // spawns each items X times.
-/obj/structure/walllocker/attack_hand(mob/user as mob)
- if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to
- return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)
- if(!amount)
- to_chat(usr, "It's empty..")
- return
- if(amount)
- for(var/path in spawnitems)
- new path(src.loc)
- amount--
- return
-/obj/structure/walllocker/emerglocker
- name = "Emergency Locker"
- spawnitems = list(/obj/item/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/crowbar)
-/obj/structure/walllocker/emerglocker/north
- pixel_y = 32
- dir = SOUTH
-/obj/structure/walllocker/emerglocker/south
- pixel_y = -32
- dir = NORTH
-/obj/structure/walllocker/emerglocker/west
- pixel_x = -32
- dir = WEST
-/obj/structure/walllocker/emerglocker/east
- pixel_x = 32
- dir = EAST
\ No newline at end of file
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index 420fc41b3f5..079bc538728 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -102,3 +102,10 @@
/obj/effect/overlay/temp/explosion/fast
icon_state = "explosionfast"
duration = 4
+
+/obj/effect/overlay/closet_door
+ anchored = TRUE
+ plane = FLOAT_PLANE
+ layer = FLOAT_LAYER
+ vis_flags = VIS_INHERIT_ID
+ appearance_flags = KEEP_TOGETHER | LONG_GLIDE | PIXEL_SCALE
diff --git a/code/game/objects/items/airbubble.dm b/code/game/objects/items/airbubble.dm
index ed8133c953a..cc586ba6935 100644
--- a/code/game/objects/items/airbubble.dm
+++ b/code/game/objects/items/airbubble.dm
@@ -57,8 +57,6 @@
desc = "Special air bubble designed to protect people inside of it from decompressed environments. Has an integrated cooling unit to preserve a stable temperature inside. Requires a power cell to operate."
icon = 'icons/obj/airbubble.dmi'
icon_state = "airbubble"
- icon_closed = "airbubble"
- icon_opened = "airbubble_open"
open_sound = 'sound/items/zip.ogg'
close_sound = 'sound/items/zip.ogg'
var/item_path = /obj/item/airbubble
@@ -157,7 +155,7 @@
dump_contents()
- icon_state = icon_opened
+ update_icon()
opened = 1
playsound(loc, open_sound, 15, 1, -3)
density = 0
@@ -178,7 +176,7 @@
if(store_mobs)
stored_units += store_mobs(stored_units)
- icon_state = icon_closed
+ update_icon()
opened = 0
playsound(loc, close_sound, 25, 0, -3)
@@ -225,10 +223,10 @@
bag.desc += " It appears to be poorly hand folded."
if(ripped)
- bag.icon_state = "[icon_closed]_man_folded_ripped"
+ bag.icon_state = "[icon_state]_man_folded_ripped"
bag.desc += " It has hole in it! Maybe you shouldn't use it!"
else
- bag.icon_state = "[icon_closed]_man_folded"
+ bag.icon_state = "[icon_state]_man_folded"
qdel(src)
return
@@ -489,15 +487,13 @@
/obj/structure/closet/airbubble/update_icon()
cut_overlays()
- if(opened)
- icon_state = icon_opened
- else if(ripped)
+ if(ripped)
name = "ripped air bubble"
- icon_state = "[icon_closed]_ripped"
+ icon_state = "[icon_state]_ripped"
else
- icon_state = icon_closed
+ icon_state = "[initial(icon_state)][opened ? "_open" : ""]"
if(zipped)
- add_overlay("[icon_closed]_restrained")
+ add_overlay("[icon_state]_restrained")
add_overlay("pressure_[(use_internal_tank) ?("on") : ("off") ]")
// Process transfer of air from the tank. Handle if it is ripped open.
@@ -626,8 +622,5 @@
name = "air bubble"
desc = "Special air bubble designed to protect people inside of it from decompressed environments. Has an integrated cooling unit to preserve a stable temperature inside. Requires a power cell to operate. This does not seem like a regular color scheme."
icon_state = "airbubble_syndie"
- icon_closed = "airbubble_syndie"
- icon_closed = "airbubble_syndie"
- icon_opened = "airbubble_syndie_open"
item_path = /obj/item/airbubble/syndie
syndie = TRUE
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index 06af46792be..fcdbb7677e4 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -50,16 +50,13 @@
name = "body bag"
desc = "A plastic bag designed for the storage and transportation of cadavers."
icon = 'icons/obj/bodybag.dmi'
- icon_state = "bodybag_closed"
- icon_closed = "bodybag_closed"
- icon_opened = "bodybag_open"
+ icon_state = "bodybag"
open_sound = 'sound/items/zip.ogg'
close_sound = 'sound/items/zip.ogg'
density = 0
storage_capacity = 30
var/item_path = /obj/item/bodybag
- var/contains_body = 0
- var/shapely = TRUE
+ var/contains_body = FALSE
can_be_buckled = TRUE
/obj/structure/closet/body_bag/content_info(mob/user, content_size)
@@ -146,20 +143,16 @@
qdel(src)
/obj/structure/closet/body_bag/update_icon()
- if(opened)
- icon_state = icon_opened
- else
- if(contains_body > 0 && shapely)
- icon_state = "bodybag_closed1"
- else
- icon_state = icon_closed
+ icon_state = "[initial(icon_state)][opened ? "_open" : "[contains_body ? "_occupied" : ""]"]"
+
+/obj/structure/closet/body_bag/animate_door()
+ flick("[initial(icon_state)]_anim_[opened ? "open" : "close"]", src)
/obj/item/bodybag/cryobag
name = "stasis bag"
desc = "A folded, reusable bag designed to prevent additional damage to an occupant, especially useful if short on time or in \
a hostile enviroment."
- icon = 'icons/obj/cryobag.dmi'
- icon_state = "bodybag_folded"
+ icon_state = "stasis_folded"
origin_tech = list(TECH_BIO = 4)
deploy_type = /obj/structure/closet/body_bag/cryobag
var/stasis_power
@@ -172,11 +165,8 @@
name = "stasis bag"
desc = "A reusable plastic bag designed to prevent additional damage to an occupant, especially useful if short on time or in \
a hostile enviroment."
- icon = 'icons/obj/cryobag.dmi'
- icon_opened = "stasis_open"
- icon_closed = "stasis_closed"
+ icon_state = "stasis"
item_path = /obj/item/bodybag/cryobag
- shapely = FALSE
var/datum/gas_mixture/airtank
var/stasis_power = 20
@@ -208,7 +198,7 @@
/obj/structure/closet/body_bag/cryobag/update_icon()
..()
overlays.Cut()
- var/image/I = image(icon, "indicator[opened]")
+ var/image/I = image(icon, "indicator")
I.appearance_flags = RESET_COLOR
var/maxstasis = initial(stasis_power)
if(stasis_power > 0.5 * maxstasis)
@@ -260,6 +250,6 @@
/obj/item/usedcryobag
name = "used stasis bag"
- desc = "Pretty useless now.."
- icon_state = "bodybag_used"
- icon = 'icons/obj/cryobag.dmi'
+ desc = "Pretty useless now."
+ icon_state = "cryobag_used"
+ icon = 'icons/obj/bodybag.dmi'
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 941fd863d36..0ba9667dfad 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -3,21 +3,24 @@
desc = "It's a basic storage unit."
icon = 'icons/obj/closet.dmi'
icon_state = "closed"
- density = 1
- w_class = ITEMSIZE_HUGE
- layer = OBJ_LAYER - 0.01
+ density = TRUE
+ var/icon_door = null
+ var/icon_door_override = FALSE //override to have open overlay use icon different to its base's
+ var/icon_welded = "welded"
+
+ var/secure = FALSE //secure locker or not, also used if overriding a non-secure locker with a secure door overlay to add fancy lights
+ var/opened = FALSE
+ var/welded = FALSE
+ var/locked = FALSE
+ var/broken = FALSE
+
build_amt = 2
- var/icon_closed = "closed"
- var/icon_opened = "open"
- var/welded_overlay_state = "welded"
- var/opened = 0
- var/welded = 0
+
var/wall_mounted = 0 //never solid (You can always pass over it)
var/health = 100
var/breakout = 0 //if someone is currently breaking out. mutex
var/storage_capacity = 40 //Tying this to mob sizes was dumb
- //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.
+ //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients.
var/open_sound = 'sound/effects/closet_open.ogg'
var/close_sound = 'sound/effects/closet_close.ogg'
@@ -29,10 +32,17 @@
var/const/default_mob_size = 15
var/obj/item/closet_teleporter/linked_teleporter
+ var/obj/effect/overlay/closet_door/door_obj
+ var/is_animating_door = FALSE
+ var/door_anim_squish = 0.12 // Multiplier on proc/get_door_transform. See fridge as example. I hope you like trigonometry.
+ var/door_anim_angle = 136
+ var/door_hinge_x = -6.5
+ var/door_anim_time = 2.5 // set to 0 to make the door not animate at all
+
slowdown = 5
/obj/structure/closet/LateInitialize()
- if (opened) // if closed, any item at the crate's loc is put in the contents
+ if(opened) // if closed, any item at the crate's loc is put in the contents
return
var/obj/I
for(I in loc)
@@ -50,6 +60,7 @@
/obj/structure/closet/Initialize(mapload)
..()
+ update_icon()
fill()
return mapload ? INITIALIZE_HINT_LATELOAD : INITIALIZE_HINT_NORMAL
@@ -127,10 +138,10 @@
if(!can_open())
return 0
- dump_contents()
-
- icon_state = icon_opened
opened = TRUE
+ dump_contents()
+ animate_door(FALSE)
+ update_icon()
playsound(loc, open_sound, 25, 0, -3)
density = FALSE
return 1
@@ -149,9 +160,10 @@
stored_units += store_items(stored_units)
if(store_mobs)
stored_units += store_mobs(stored_units)
-
- icon_state = icon_closed
opened = FALSE
+ animate_door(TRUE)
+ update_icon()
+
if(linked_teleporter)
if(linked_teleporter.last_use + 600 > world.time)
return
@@ -207,7 +219,6 @@
if(!(opened ? close() : open()))
to_chat(user, "It won't budge!")
return
- update_icon()
return 1
/obj/structure/closet/ex_act(severity)
@@ -410,14 +421,68 @@
else
to_chat(usr, "This mob type can't use this verb.")
-/obj/structure/closet/update_icon()//Putting the welded stuff in update_icon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
+/obj/structure/closet/update_icon()
cut_overlays()
if(!opened)
- icon_state = icon_closed
- if(welded)
- add_overlay(welded_overlay_state)
+ layer = OBJ_LAYER
+ if(!is_animating_door)
+ if(icon_door)
+ add_overlay("[icon_door]_door")
+ else
+ add_overlay("[icon_state]_door")
+ if(secure && !broken)
+ if(locked)
+ add_overlay("locked")
+ else
+ add_overlay("unlocked")
+ if(welded)
+ add_overlay(icon_welded)
+
else
- icon_state = icon_opened
+ layer = BELOW_OBJ_LAYER
+ if(!is_animating_door)
+ if(icon_door_override)
+ add_overlay("[icon_door]_open")
+ else
+ add_overlay("[icon_state]_open")
+
+/obj/structure/closet/proc/animate_door(var/closing = FALSE)
+ if(!door_anim_time)
+ return
+ if(!door_obj) door_obj = new
+ vis_contents |= door_obj
+ door_obj.icon = icon
+ door_obj.icon_state = "[icon_door || icon_state]_door"
+ is_animating_door = TRUE
+ var/num_steps = door_anim_time / world.tick_lag
+ for(var/I in 0 to num_steps)
+ var/angle = door_anim_angle * (closing ? 1 - (I/num_steps) : (I/num_steps))
+ var/matrix/M = get_door_transform(angle)
+ var/door_state = angle >= 90 ? "[icon_door_override ? icon_door : icon_state]_back" : "[icon_door || icon_state]_door"
+ var/door_layer = angle >= 90 ? FLOAT_LAYER : ABOVE_MOB_LAYER
+
+ if(I == 0)
+ door_obj.transform = M
+ door_obj.icon_state = door_state
+ door_obj.layer = door_layer
+ else if(I == 1)
+ animate(door_obj, transform = M, icon_state = door_state, layer = door_layer, time = world.tick_lag, flags = ANIMATION_END_NOW)
+ else
+ animate(transform = M, icon_state = door_state, layer = door_layer, time = world.tick_lag)
+ addtimer(CALLBACK(src,.proc/end_door_animation),door_anim_time,TIMER_UNIQUE|TIMER_OVERRIDE)
+
+/obj/structure/closet/proc/end_door_animation()
+ is_animating_door = FALSE
+ vis_contents -= door_obj
+ update_icon()
+ compile_overlays(src)
+
+/obj/structure/closet/proc/get_door_transform(angle)
+ var/matrix/M = matrix()
+ M.Translate(-door_hinge_x, 0)
+ M.Multiply(matrix(cos(angle), 0, 0, -sin(angle) * door_anim_squish, 1, 0))
+ M.Translate(door_hinge_x, 0)
+ return M
/obj/structure/closet/hear_talk(mob/M as mob, text, verb, datum/language/speaking)
for (var/atom/A in src)
@@ -503,7 +568,6 @@
/obj/structure/closet/proc/break_open()
welded = 0
- update_icon()
//Do this to prevent contents from being opened into nullspace (read: bluespace)
if(istype(loc, /obj/structure/bigDelivery))
var/obj/structure/bigDelivery/BD = loc
diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm
index 5d18c39bafa..ee48cadab68 100644
--- a/code/game/objects/structures/crates_lockers/closets/coffin.dm
+++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm
@@ -2,8 +2,6 @@
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
- icon_closed = "coffin"
- icon_opened = "coffin_open"
build_amt = 5
/obj/structure/closet/coffin/attackby(obj/item/W as obj, mob/user as mob)
@@ -24,8 +22,3 @@
attack_hand(user)
return
-/obj/structure/closet/coffin/update_icon()
- if(!opened)
- icon_state = icon_closed
- else
- icon_state = icon_opened
diff --git a/code/game/objects/structures/crates_lockers/closets/crittercrate.dm b/code/game/objects/structures/crates_lockers/closets/crittercrate.dm
index b2baec0f575..dfe2746ad2f 100644
--- a/code/game/objects/structures/crates_lockers/closets/crittercrate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/crittercrate.dm
@@ -2,5 +2,3 @@
name = "critter crate"
desc = "A crate which can sustain life for a while."
icon_state = "critter"
- icon_opened = "critteropen"
- icon_closed = "critter"
diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm
index e96f1fdd64b..a8ade63da4f 100644
--- a/code/game/objects/structures/crates_lockers/closets/fitness.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm
@@ -2,7 +2,6 @@
name = "athletic wardrobe"
desc = "It's a storage unit for athletic wear."
icon_state = "mixed"
- icon_closed = "mixed"
/obj/structure/closet/athletic_mixed/fill()
new /obj/item/towel/random(src)
@@ -22,8 +21,6 @@
new /obj/item/clothing/shoes/swimmingfins(src)
new /obj/item/clothing/shoes/swimmingfins(src)
-
-
/obj/structure/closet/boxinggloves
name = "boxing gloves"
desc = "It's a storage unit for gloves for use in the boxing ring."
@@ -34,7 +31,6 @@
new /obj/item/clothing/gloves/boxing/yellow(src)
new /obj/item/clothing/gloves/boxing(src)
-
/obj/structure/closet/masks
name = "mask closet"
desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!"
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index 62ac8b2a956..75873b5a385 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -1,17 +1,9 @@
/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"
+ icon_state = "cabinet"
storage_capacity = 45 //such a big closet deserves a little more capacity
-/obj/structure/closet/cabinet/update_icon()
- if(!opened)
- icon_state = icon_closed
- else
- icon_state = icon_opened
-
/obj/structure/closet/cabinet/attackby(obj/item/W as obj, mob/user as mob)
if(opened)
if(istype(W, /obj/item/grab))
@@ -33,25 +25,17 @@
/obj/structure/closet/acloset
name = "strange closet"
desc = "It looks alien!"
- icon_state = "acloset"
- icon_closed = "acloset"
- icon_opened = "aclosetopen"
-
+ icon_state = "decursed"
/obj/structure/closet/gimmick
name = "administrative supply closet"
desc = "It's a storage unit for things that have no right being here."
icon_state = "syndicate1"
- icon_closed = "syndicate1"
- icon_opened = "syndicate1open"
anchored = 0
/obj/structure/closet/gimmick/russian
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
- icon_state = "syndicate1"
- icon_closed = "syndicate1"
- icon_opened = "syndicate1open"
/obj/structure/closet/gimmick/russian/fill()
new /obj/item/clothing/head/ushanka/grey(src)
@@ -63,9 +47,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/fill()
new /obj/item/clothing/glasses/eyepatch(src)
@@ -88,8 +69,6 @@
name = "\improper Thunderdome closet"
desc = "Everything you need!"
icon_state = "syndicate"
- icon_closed = "syndicate"
- icon_opened = "syndicateopen"
anchored = 1
/obj/structure/closet/thunderdome/tdred
@@ -118,8 +97,6 @@
/obj/structure/closet/thunderdome/tdgreen
name = "green-team Thunderdome closet"
icon_state = "syndicate1"
- icon_closed = "syndicate1"
- icon_opened = "syndicate1open"
/obj/structure/closet/thunderdome/tdgreen/fill()
new /obj/item/clothing/suit/armor/tdome/green(src)
@@ -142,7 +119,5 @@
new /obj/item/clothing/head/helmet/thunderdome(src)
/obj/structure/closet/skrell
- icon_state = "skrell"
- icon_closed = "skrell"
- icon_opened = "skrellopen"
- layer = OBJ_LAYER - 0.01
+ icon_state = "alien"
+ layer = BELOW_OBJ_LAYER
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 9880722840a..37cff4d5c2e 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -11,8 +11,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/fill()
new /obj/item/clothing/head/that(src)
@@ -39,8 +38,7 @@
/obj/structure/closet/chefcloset
name = "chef's closet"
desc = "It's a storage unit for foodservice garments."
- icon_state = "black"
- icon_closed = "black"
+ icon_door = "black"
/obj/structure/closet/chefcloset/fill()
new /obj/item/clothing/under/sundress(src)
@@ -63,9 +61,7 @@
/obj/structure/closet/jcloset
name = "custodial closet"
desc = "It's a storage unit for janitorial clothes and gear."
- icon_state = "janitorial"
- icon_closed = "janitorial"
- icon_opened = "janitorialopen"
+ icon_door = "mixed"
/obj/structure/closet/jcloset/fill()
new /obj/item/clothing/under/rank/janitor(src)
@@ -101,7 +97,6 @@
name = "legal closet"
desc = "It's a storage unit for courtroom apparel and items."
icon_state = "blue"
- icon_closed = "blue"
/obj/structure/closet/lawcloset/fill()
new /obj/item/clothing/under/lawyer/black(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
index fc684bfda48..9404a7e739d 100644
--- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
@@ -2,24 +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/general
- icon_state = "bio_general"
- icon_closed = "bio_general"
- icon_opened = "bio_generalopen"
/obj/structure/closet/l3closet/general/fill()
new /obj/item/clothing/suit/bio_suit/general(src)
new /obj/item/clothing/head/bio_hood/general(src)
new /obj/item/clothing/mask/gas/half(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/fill()
new /obj/item/clothing/suit/bio_suit/virology(src)
@@ -29,9 +19,8 @@
/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/fill()
new /obj/item/clothing/suit/bio_suit/security(src)
@@ -40,19 +29,14 @@
/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/fill()
new /obj/item/clothing/suit/bio_suit/janitor(src)
new /obj/item/clothing/head/bio_hood/janitor(src)
-
/obj/structure/closet/l3closet/scientist
icon_state = "bio_scientist"
- icon_closed = "bio_scientist"
- icon_opened = "bio_scientistopen"
/obj/structure/closet/l3closet/scientist/fill()
new /obj/item/clothing/suit/bio_suit/scientist(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/malfunction.dm b/code/game/objects/structures/crates_lockers/closets/malfunction.dm
index 851d7df61f8..b74100ec5e1 100644
--- a/code/game/objects/structures/crates_lockers/closets/malfunction.dm
+++ b/code/game/objects/structures/crates_lockers/closets/malfunction.dm
@@ -1,8 +1,6 @@
/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/fill()
new /obj/item/tank/jetpack/void(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
index 375612e5c51..d465d6f3656 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
@@ -1,14 +1,9 @@
/obj/structure/closet/secure_closet/bar
name = "booze closet"
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"
storage_capacity = 45 //such a big closet deserves a little more capacity
-
+ door_anim_time = 0 // no animation
/obj/structure/closet/secure_closet/bar/fill()
new /obj/item/reagent_containers/food/drinks/bottle/small/beer( src )
@@ -21,15 +16,3 @@
new /obj/item/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/reagent_containers/food/drinks/bottle/small/beer( src )
-
-/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
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index 2f0e2c49aba..a75f1350171 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -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/fill()
..()
@@ -25,12 +20,7 @@
/obj/structure/closet/secure_closet/quartermaster
name = "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/fill()
new /obj/item/clothing/under/rank/quartermaster(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index 04e7c96a1d0..cab3aadd4ec 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -1,12 +1,7 @@
/obj/structure/closet/secure_closet/engineering_chief
name = "chief engineer's locker"
req_access = list(access_ce)
- icon_state = "securece1"
- icon_closed = "securece"
- icon_locked = "securece1"
- icon_opened = "secureceopen"
- icon_broken = "securecebroken"
- icon_off = "secureceoff"
+ icon_state = "ce"
/obj/structure/closet/secure_closet/engineering_chief/fill()
if(prob(50))
@@ -39,12 +34,7 @@
/obj/structure/closet/secure_closet/engineering_chief2
name = "chief engineer's attire"
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_chief2/fill()
new /obj/item/storage/backpack/industrial(src)
@@ -60,12 +50,8 @@
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies"
req_access = list(access_engine_equip)
- icon_state = "secureengelec1"
- icon_closed = "secureengelec"
- icon_locked = "secureengelec1"
- icon_opened = "toolclosetopen"
- icon_broken = "secureengelecbroken"
- icon_off = "secureengelecoff"
+ icon_state = "eng"
+ icon_door = "eng_elec"
/obj/structure/closet/secure_closet/engineering_electrical/fill()
new /obj/item/clothing/gloves/yellow(src)
@@ -85,12 +71,8 @@
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies"
req_access = list(access_construction)
- icon_state = "secureengweld1"
- icon_closed = "secureengweld"
- icon_locked = "secureengweld1"
- icon_opened = "toolclosetopen"
- icon_broken = "secureengweldbroken"
- icon_off = "secureengweldoff"
+ icon_state = "eng"
+ icon_door = "eng_weld"
/obj/structure/closet/secure_closet/engineering_welding/fill()
new /obj/item/clothing/head/welding(src)
@@ -106,12 +88,7 @@
/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/fill()
if(prob(50))
@@ -131,12 +108,7 @@
/obj/structure/closet/secure_closet/atmos_personal
name = "atmospheric technician's locker"
req_access = list(access_atmospherics)
- icon_state = "secureatm1"
- icon_closed = "secureatm"
- icon_locked = "secureatm1"
- icon_opened = "secureatmopen"
- icon_broken = "secureatmbroken"
- icon_off = "secureatmoff"
+ icon_state = "atmos"
/obj/structure/closet/secure_closet/atmos_personal/fill()
if(prob(50))
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
index badd4a8c58d..2d401a88ad2 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
@@ -1,16 +1,8 @@
/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"
+ door_anim_squish = 0.22
+ door_anim_angle = 123
+ door_anim_time = 4
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen cabinet"
@@ -27,12 +19,6 @@
/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/fill()
..()
@@ -55,12 +41,6 @@
/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/fill()
..()
@@ -74,12 +54,7 @@
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
- icon_state = "fridge1"
- icon_closed = "fridge"
- icon_locked = "fridge1"
- icon_opened = "fridgeopen"
- icon_broken = "fridgebroken"
- icon_off = "fridge1"
+ desc = "This contains cold hard cash."
req_access = list(access_heads_vault)
/obj/structure/closet/secure_closet/freezer/money/fill()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
index a29585136b4..14e004ecd38 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
@@ -3,11 +3,6 @@
req_access = list(access_armory)
icon = 'icons/obj/guncabinet.dmi'
icon_state = "base"
- icon_off ="base"
- icon_broken ="base"
- icon_locked ="base"
- icon_closed ="base"
- icon_opened = "base"
anchored = 1
canbemoved = 1
@@ -47,8 +42,7 @@
add_overlay("door")
if(welded)
- add_overlay(welded_overlay_state)
-
+ add_overlay(icon_welded)
if(broken)
add_overlay("broken")
else if (locked)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index 7a120cbd810..56d7e85fa19 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -1,12 +1,7 @@
/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"
/obj/structure/closet/secure_closet/hydroponics/fill()
..()
@@ -29,12 +24,7 @@
/obj/structure/closet/secure_closet/xenobotany
name = "xenobotanist's locker"
req_access = list(access_xenobiology)
- icon_state = "xenobotsecure1"
- icon_closed = "xenobotsecure"
- icon_locked = "xenobotsecure1"
- icon_opened = "xenobotsecureopen"
- icon_broken = "xenobotsecurebroken"
- icon_off = "xenobotsecureoff"
+ icon_state = "xenobot"
/obj/structure/closet/secure_closet/xenobotany/fill()
..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 510714384bc..bfeaf10f4cf 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -1,13 +1,7 @@
/obj/structure/closet/secure_closet/medical1
name = "medicine closet"
desc = "Filled with medical junk."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
- welded_overlay_state = "welded_wallcloset"
+ icon_state = "med"
req_access = list(access_medical_equip)
/obj/structure/closet/secure_closet/medical1/fill()
@@ -25,12 +19,7 @@
/obj/structure/closet/secure_closet/medical2
name = "anesthetics 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"
+ icon_state = "med"
req_access = list(access_surgery)
/obj/structure/closet/secure_closet/medical2/fill()
@@ -44,12 +33,7 @@
/obj/structure/closet/secure_closet/medical3
name = "medical equipment locker"
req_access = list(access_medical_equip)
- icon_state = "securemed1"
- icon_closed = "securemed"
- icon_locked = "securemed1"
- icon_opened = "securemedopen"
- icon_broken = "securemedbroken"
- icon_off = "securemedoff"
+ icon_state = "med"
/obj/structure/closet/secure_closet/medical3/fill()
if(prob(50))
@@ -93,12 +77,7 @@
name = "first responder's locker"
desc = "An immobile, card-locked storage unit containing all the necessary equipment for a first responder."
req_access = list(access_first_responder)
- icon_state = "securemed1"
- icon_closed = "securemed"
- icon_locked = "securemed1"
- icon_opened = "securemedopen"
- icon_broken = "securemedbroken"
- icon_off = "securemedoff"
+ icon_state = "med"
/obj/structure/closet/secure_closet/medical_fr/fill()
..()
@@ -129,12 +108,7 @@
/obj/structure/closet/secure_closet/CMO
name = "chief medical officer's locker"
req_access = list(access_cmo)
- icon_state = "cmosecure1"
- icon_closed = "cmosecure"
- icon_locked = "cmosecure1"
- icon_opened = "cmosecureopen"
- icon_broken = "cmosecurebroken"
- icon_off = "cmosecureoff"
+ icon_state = "cmo"
/obj/structure/closet/secure_closet/CMO/fill()
if(prob(50))
@@ -161,12 +135,7 @@
/obj/structure/closet/secure_closet/CMO2
name = "chief medical officer's attire"
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/CMO2/fill()
new /obj/item/storage/backpack/medic(src)
@@ -200,12 +169,7 @@
/obj/structure/closet/secure_closet/chemical
name = "chemistry equipment closet"
desc = "Contains equipment useful to chemists."
- icon_state = "medical1"
- icon_closed = "medical"
- icon_locked = "medical1"
- icon_opened = "medicalopen"
- icon_broken = "medicalbroken"
- icon_off = "medicaloff"
+ icon_state = "chemical"
req_access = list(access_pharmacy)
/obj/structure/closet/secure_closet/chemical/fill()
@@ -226,14 +190,12 @@
/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"
+ icon = 'icons/obj/walllocker.dmi'
+ icon_state = "medical_wall"
+ icon_door = "medical_wall_secure"
+ door_anim_time = 0
store_mobs = FALSE
- anchored = 1
- density = 0
- wall_mounted = 1
+ anchored = TRUE
+ density = FALSE
+ wall_mounted = TRUE
req_access = list(access_medical_equip)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index dd0d34d2f2a..fa7fcb655ab 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -24,24 +24,7 @@
/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/fill()
new /obj/item/storage/backpack/satchel/withwallet(src)
@@ -69,8 +52,7 @@
if(allowed(user) || !registered_name || (istype(I) && (registered_name == I.registered_name)))
//they can open all lockers, or nobody owns this, or they own this locker
locked = !( locked )
- if(locked) icon_state = icon_locked
- else icon_state = icon_closed
+ update_icon()
if(!registered_name)
registered_name = I.registered_name
@@ -92,7 +74,7 @@
broken = 1
locked = 0
desc = "It appears to be broken."
- icon_state = icon_broken
+ update_icon()
if(visual_feedback)
visible_message("[visual_feedback]", "[audible_feedback]")
return 1
@@ -114,7 +96,7 @@
if(!close())
return
locked = 1
- icon_state = icon_locked
+ update_icon()
registered_name = null
desc = "It's a secure locker for personnel. The first card swiped gains control."
return
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 2c6b36784b0..874c7c92219 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -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/fill()
new /obj/item/clothing/under/rank/scientist(src)
@@ -21,12 +16,7 @@
/obj/structure/closet/secure_closet/RD
name = "research director's locker"
req_access = list(access_rd)
- icon_state = "rdsecure1"
- icon_closed = "rdsecure"
- icon_locked = "rdsecure1"
- icon_opened = "rdsecureopen"
- icon_broken = "rdsecurebroken"
- icon_off = "rdsecureoff"
+ icon_state = "rd"
/obj/structure/closet/secure_closet/RD/fill()
new /obj/item/clothing/suit/bio_suit/scientist(src)
@@ -52,12 +42,7 @@
/obj/structure/closet/secure_closet/RD2
name = "research director's attire"
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/RD2/fill()
new /obj/item/clothing/under/rank/research_director(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/sciguncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/sciguncabinet.dm
index aa776dd75f7..3ff3abfd1c3 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/sciguncabinet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/sciguncabinet.dm
@@ -3,11 +3,6 @@
req_access = list(access_tox_storage)
icon = 'icons/obj/sciguncabinet.dmi'
icon_state = "base"
- icon_off ="base"
- icon_broken ="base"
- icon_locked ="base"
- icon_closed ="base"
- icon_opened = "base"
anchored = 1
canbemoved = 1
@@ -47,7 +42,7 @@
add_overlay("door")
if(welded)
- add_overlay(welded_overlay_state)
+ add_overlay(icon_welded)
if(broken)
add_overlay("broken")
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index 653e2ffdeca..69353a4c1e6 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -2,22 +2,16 @@
name = "secure locker"
desc = "It's an immobile card-locked storage unit."
icon = 'icons/obj/closet.dmi'
- icon_state = "secure1"
- density = 1
- opened = 0
- anchored = 0
- var/locked = 1
- var/broken = 0
- var/large = 1
- icon_closed = "secure"
- var/icon_locked = "secure1"
- icon_opened = "secureopen"
- var/icon_broken = "securebroken"
- var/icon_off = "secureoff"
- var/canbemoved = 0 // if it can be moved by people using the right tools
- var/screwed = 1 // if its screwed in place
- var/wrenched = 1 // if its wrenched down
- wall_mounted = 0 //never solid (You can always pass over it)
+ icon_state = "secure"
+ secure = TRUE
+ opened = FALSE
+ anchored = FALSE
+ locked = TRUE
+ var/large = TRUE
+ var/canbemoved = FALSE // if it can be moved by people using the right tools
+ var/screwed = TRUE // if its screwed in place
+ var/wrenched = TRUE // if its wrenched down
+ wall_mounted = FALSE //never solid (You can always pass over it)
health = 200
/obj/structure/closet/secure_closet/can_open()
@@ -28,7 +22,7 @@
/obj/structure/closet/secure_closet/close()
if(..())
if(broken)
- icon_state = icon_off
+ update_icon()
return 1
else
return 0
@@ -209,8 +203,8 @@
broken = 1
locked = 0
desc = "It appears to be broken."
- icon_state = icon_off
- flick(icon_broken, src)
+ update_icon()
+ CUT_OVERLAY_IN("sparking", 4)
if(visual_feedback)
visible_message(visual_feedback, audible_feedback)
@@ -243,19 +237,6 @@
else
to_chat(usr, "This mob type can't use this verb.")
-/obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in update_icon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot)
- cut_overlays()
- if(!opened)
- if(locked)
- icon_state = icon_locked
- else
- icon_state = icon_closed
- if(welded)
- add_overlay(welded_overlay_state)
- else
- icon_state = icon_opened
-
-
/obj/structure/closet/secure_closet/req_breakout()
if(!opened && locked)
if (welded)
@@ -267,15 +248,11 @@
/obj/structure/closet/secure_closet/break_open()
desc += " It appears to be broken."
- icon_state = icon_off
- spawn()
- flick(icon_broken, src)
- sleep(10)
- flick(icon_broken, src)
- sleep(10)
- broken = 1
- welded = 0
- locked = 0
+ add_overlay("sparking")
+ CUT_OVERLAY_IN("sparking", 8)
+ broken = TRUE
+ welded = FALSE
+ locked = FALSE
update_icon()
//Do this to prevent contents from being opened into nullspace (read: bluespace)
if(istype(loc, /obj/structure/bigDelivery))
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index ca90f0047c6..156d338ed0e 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -1,12 +1,7 @@
/obj/structure/closet/secure_closet/captains
name = "captain's locker"
req_access = list(access_captain)
- icon_state = "capsecure1"
- icon_closed = "capsecure"
- icon_locked = "capsecure1"
- icon_opened = "capsecureopen"
- icon_broken = "capsecurebroken"
- icon_off = "capsecureoff"
+ icon_state = "cap"
/obj/structure/closet/secure_closet/captains/fill()
// Backpack
@@ -33,12 +28,7 @@
/obj/structure/closet/secure_closet/captains2
name = "captain's attire"
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/captains2/fill()
new /obj/item/storage/backpack/captain(src)
@@ -58,12 +48,8 @@
/obj/structure/closet/secure_closet/hop
name = "head of personnel's locker"
req_access = list(access_hop)
- icon_state = "hopsecure1"
- icon_closed = "hopsecure"
- icon_locked = "hopsecure1"
- icon_opened = "hopsecureopen"
- icon_broken = "hopsecurebroken"
- icon_off = "hopsecureoff"
+ icon_state = "sec"
+ icon_door = "hop"
/obj/structure/closet/secure_closet/hop/fill()
..()
@@ -89,12 +75,8 @@
/obj/structure/closet/secure_closet/hop2
name = "head of personnel's attire"
req_access = list(access_hop)
- icon_state = "hopsecure1"
- icon_closed = "hopsecure"
- icon_locked = "hopsecure1"
- icon_opened = "hopsecureopen"
- icon_broken = "hopsecurebroken"
- icon_off = "hopsecureoff"
+ icon_state = "sec"
+ icon_door = "hop"
/obj/structure/closet/secure_closet/hop2/fill()
..()
@@ -112,12 +94,7 @@
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
req_access = list(access_hos)
- icon_state = "hossecure1"
- icon_closed = "hossecure"
- icon_locked = "hossecure1"
- icon_opened = "hossecureopen"
- icon_broken = "hossecurebroken"
- icon_off = "hossecureoff"
+ icon_state = "hos"
/obj/structure/closet/secure_closet/hos/fill()
..()
@@ -163,12 +140,7 @@
/obj/structure/closet/secure_closet/hos2
name = "head of security's attire"
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/hos2/fill()
//Appearance
@@ -196,12 +168,7 @@
/obj/structure/closet/secure_closet/warden
name = "warden's locker"
req_access = list(access_armory)
- icon_state = "wardensecure1"
- icon_closed = "wardensecure"
- icon_locked = "wardensecure1"
- icon_opened = "wardensecureopen"
- icon_broken = "wardensecurebroken"
- icon_off = "wardensecureoff"
+ icon_state = "warden"
/obj/structure/closet/secure_closet/warden/fill()
//Supply
@@ -242,12 +209,8 @@
/obj/structure/closet/secure_closet/security_cadet
name = "security cadet's locker"
req_access = list(access_security)
- icon_state = "seccadet1"
- icon_closed = "seccadet"
- icon_locked = "seccadet1"
- icon_opened = "seccadetopen"
- icon_broken = "seccadetbroken"
- icon_off = "seccadetoff"
+ icon_state = "sec"
+ icon_door = "seccadet"
/obj/structure/closet/secure_closet/security_cadet/fill()
//Appearance
@@ -275,12 +238,7 @@
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(access_brig)
- icon_state = "sec1"
- icon_closed = "sec"
- icon_locked = "sec1"
- icon_opened = "secopen"
- icon_broken = "secbroken"
- icon_off = "secoff"
+ icon_state = "sec"
/obj/structure/closet/secure_closet/security/fill()
//Appearance
@@ -337,12 +295,7 @@
/obj/structure/closet/secure_closet/investigator
name = "investigator's locker"
req_access = list(access_forensics_lockers)
- 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/investigator/fill()
//Appearance
@@ -420,25 +373,9 @@
name = "wall locker"
req_access = list(access_security)
icon = 'icons/obj/walllocker.dmi'
- 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"
-
+ icon_state = "wallocker"
+ icon_door = "walllocker_secure"
+ door_anim_time = 0
+ density = TRUE
//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
+ large = FALSE
diff --git a/code/game/objects/structures/crates_lockers/closets/sol_gear.dm b/code/game/objects/structures/crates_lockers/closets/sol_gear.dm
index 6924e411b00..c8019d3e1a1 100644
--- a/code/game/objects/structures/crates_lockers/closets/sol_gear.dm
+++ b/code/game/objects/structures/crates_lockers/closets/sol_gear.dm
@@ -3,8 +3,6 @@
name = "sol navy uniform closet"
desc = "It's a storage unit for Sol Alliance navy uniforms."
icon_state = "syndicate1"
- icon_closed = "syndicate1"
- icon_opened = "syndicate1open"
/obj/structure/closet/sol/navy/fill()
..()
@@ -81,12 +79,7 @@
/obj/structure/closet/secure_closet/soll_officer
name = "sol alliance officer 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/soll_officer/fill()
..()
diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
index 1304d04e5d4..4b67bd10b62 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -2,9 +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 storage unit for operative gear."
@@ -22,7 +19,6 @@
new /obj/item/shield/energy(src)
new /obj/item/clothing/shoes/magboots(src)
-
/obj/structure/closet/syndicate/suit
desc = "It's a storage unit for voidsuits."
@@ -35,7 +31,6 @@
new /obj/item/airbubble/syndie(src)
new /obj/item/airbubble/syndie(src)
-
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for nuclear-operative gear."
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 4bb2301cc6f..45d230e3978 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -16,8 +16,6 @@
name = "emergency closet"
desc = "It's a storage unit for emergency breathmasks and o2 tanks."
icon_state = "emergency"
- icon_closed = "emergency"
- icon_opened = "emergencyopen"
/obj/structure/closet/emcloset/fill()
switch (pickweight(list("small" = 50, "aid" = 20, "tank" = 10, "seal" = 10, "all" = 10)))
@@ -85,9 +83,7 @@
/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/fill()
new /obj/item/clothing/head/hardhat/firefighter(src)
@@ -113,9 +109,8 @@
/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/fill()
if(prob(40))
@@ -158,9 +153,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/fill()
for(var/i = 1 to 2)
@@ -176,9 +170,7 @@
/obj/structure/closet/bombcloset
name = "\improper EOD closet"
desc = "It's a storage unit for explosive-defusal equipment."
- icon_state = "bombsuit"
- icon_closed = "bombsuit"
- icon_opened = "bombsuitopen"
+ icon_state = "bomb"
/obj/structure/closet/bombcloset/fill()
new /obj/item/clothing/suit/bomb_suit(src)
@@ -187,12 +179,10 @@
new /obj/item/clothing/head/bomb_hood(src)
new /obj/item/wirecutters/bomb(src)
-/obj/structure/closet/bombclosetsecurity
+/obj/structure/closet/bombclosetsecurity // Why the hell is this different? And this is like, only used ONCE! Madness, I tell you.
name = "\improper EOD closet"
desc = "It's a storage unit for the security department's explosive-defusal equipment."
- icon_state = "bombsuitsec"
- icon_closed = "bombsuitsec"
- icon_opened = "bombsuitsecopen"
+ icon_state = "bombsec"
/obj/structure/closet/bombclosetsecurity/fill()
new /obj/item/clothing/suit/bomb_suit/security(src)
@@ -207,10 +197,8 @@
/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/walllocker.dmi'
icon_state = "hydrant"
- icon_closed = "hydrant"
- icon_opened = "hydrant_open"
- welded_overlay_state = "welded_wallcloset"
anchored = 1
density = 0
wall_mounted = 1
@@ -232,10 +220,8 @@
/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/walllocker.dmi'
icon_state = "medical_wall"
- icon_closed = "medical_wall"
- icon_opened = "medical_wall_open"
- welded_overlay_state = "welded_wallcloset"
anchored = 1
density = 0
wall_mounted = 1
diff --git a/code/game/objects/structures/crates_lockers/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm
index a90f758663d..695efa4b0cf 100644
--- a/code/game/objects/structures/crates_lockers/closets/walllocker.dm
+++ b/code/game/objects/structures/crates_lockers/closets/walllocker.dm
@@ -5,19 +5,16 @@
desc = "A wall mounted storage locker."
name = "Wall Locker"
icon = 'icons/obj/walllocker.dmi'
- icon_state = "wall-locker"
+ icon_state = "walllocker" //...man, how OLD is this $#!?
+ door_anim_time = 0
density = FALSE
anchored = TRUE
store_mobs = FALSE
- icon_closed = "wall-locker"
- icon_opened = "wall-lockeropen"
/obj/structure/closet/walllocker/emerglocker
name = "emergency locker"
desc = "A wall mounted locker with emergency supplies."
icon_state = "emerg"
- icon_closed = "emerg"
- icon_opened = "emerg-open"
/obj/structure/closet/walllocker/emerglocker/fill()
for(var/i = 1 to 3)
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 38b98ff26a5..a1acc8a8adb 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -1,13 +1,11 @@
/obj/structure/closet/wardrobe
name = "wardrobe"
desc = "It's a storage unit for standard-issue attire."
- icon_state = "blue"
- icon_closed = "blue"
+ icon_door = "blue"
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
- icon_state = "blue"
- icon_closed = "blue"
+ icon_door = "blue"
/obj/structure/closet/wardrobe/red/fill()
..()
@@ -43,8 +41,7 @@
/obj/structure/closet/wardrobe/pink
name = "pink wardrobe"
- icon_state = "pink"
- icon_closed = "pink"
+ icon_door = "pink"
/obj/structure/closet/wardrobe/pink/fill()
..()
@@ -58,8 +55,7 @@
/obj/structure/closet/wardrobe/black
name = "black wardrobe"
- icon_state = "black"
- icon_closed = "black"
+ icon_door = "black"
/obj/structure/closet/wardrobe/black/fill()
..()
@@ -78,8 +74,7 @@
/obj/structure/closet/wardrobe/chaplain_black
name = "chapel wardrobe"
desc = "It's a storage unit for approved religious attire."
- icon_state = "black"
- icon_closed = "black"
+ icon_door = "black"
/obj/structure/closet/wardrobe/chaplain_black/fill()
..()
@@ -100,8 +95,7 @@
/obj/structure/closet/wardrobe/green
name = "green wardrobe"
- icon_state = "green"
- icon_closed = "green"
+ icon_door = "green"
/obj/structure/closet/wardrobe/green/fill()
..()
@@ -115,8 +109,7 @@
/obj/structure/closet/wardrobe/xenos
name = "xenos wardrobe"
- icon_state = "green"
- icon_closed = "green"
+ icon_door = "green"
/obj/structure/closet/wardrobe/xenos/fill()
..()
@@ -133,8 +126,7 @@
/obj/structure/closet/wardrobe/orange
name = "prison wardrobe"
desc = "It's a storage unit for regulation prisoner attire."
- icon_state = "orange"
- icon_closed = "orange"
+ icon_door = "orange"
/obj/structure/closet/wardrobe/orange/fill()
..()
@@ -149,8 +141,7 @@
/obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe"
- icon_state = "yellow"
- icon_closed = "yellow"
+ icon_door = "yellow"
/obj/structure/closet/wardrobe/yellow/fill()
..()
@@ -165,8 +156,7 @@
/obj/structure/closet/wardrobe/atmospherics_yellow
name = "atmospherics wardrobe"
- icon_state = "yellow"
- icon_closed = "yellow"
+ icon_door = "yellow"
/obj/structure/closet/wardrobe/atmospherics_yellow/fill()
..()
@@ -194,8 +184,7 @@
/obj/structure/closet/wardrobe/engineering_yellow
name = "engineering wardrobe"
- icon_state = "yellow"
- icon_closed = "yellow"
+ icon_door = "yellow"
/obj/structure/closet/wardrobe/engineering_yellow/fill()
..()
@@ -222,8 +211,7 @@
/obj/structure/closet/wardrobe/white
name = "white wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/white/fill()
..()
@@ -238,8 +226,7 @@
/obj/structure/closet/wardrobe/pjs
name = "pajama wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/pjs/fill()
..()
@@ -256,8 +243,7 @@
/obj/structure/closet/wardrobe/science_white
name = "science wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/toxins_white/fill()
..()
@@ -281,8 +267,7 @@
/obj/structure/closet/wardrobe/robotics_black
name = "robotics wardrobe"
- icon_state = "black"
- icon_closed = "black"
+ icon_door = "black"
/obj/structure/closet/wardrobe/robotics_black/fill()
..()
@@ -299,8 +284,7 @@
/obj/structure/closet/wardrobe/pharmacy_white
name = "pharmacy wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/pharmacy_white/fill()
..()
@@ -315,8 +299,7 @@
/obj/structure/closet/wardrobe/genetics_white
name = "genetics wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/genetics_white/fill()
..()
@@ -329,8 +312,7 @@
/obj/structure/closet/wardrobe/virology_white
name = "virology wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/virology_white/fill()
..()
@@ -345,8 +327,7 @@
/obj/structure/closet/wardrobe/medic_white
name = "medical wardrobe"
- icon_state = "white"
- icon_closed = "white"
+ icon_door = "white"
/obj/structure/closet/wardrobe/medic_white/fill()
..()
@@ -368,8 +349,7 @@
/obj/structure/closet/wardrobe/grey
name = "grey wardrobe"
- icon_state = "grey"
- icon_closed = "grey"
+ icon_door = "grey"
/obj/structure/closet/wardrobe/grey/fill()
..()
@@ -390,8 +370,7 @@
/obj/structure/closet/wardrobe/mixed
name = "mixed wardrobe"
- icon_state = "mixed"
- icon_closed = "mixed"
+ icon_door = "mixed"
/obj/structure/closet/wardrobe/mixed/fill()
..()
@@ -413,8 +392,6 @@
/obj/structure/closet/wardrobe/tactical
name = "tactical equipment"
icon_state = "syndicate1"
- icon_closed = "syndicate1"
- icon_opened = "syndicate1open"
/obj/structure/closet/wardrobe/tactical/fill()
..()
@@ -430,8 +407,7 @@
/obj/structure/closet/wardrobe/suit
name = "suit locker"
- icon_state = "mixed"
- icon_closed = "mixed"
+ icon_door = "mixed"
/obj/structure/closet/wardrobe/suit/fill()
..()
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 3331bc4bbe8..f5e6aea8cc4 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -7,14 +7,18 @@
desc = "A rectangular steel crate."
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
- icon_opened = "crateopen"
- icon_closed = "crate"
climbable = 1
build_amt = 10
var/rigged = 0
var/tablestatus = 0
slowdown = 0
+ door_anim_time = 0 // no animation
+
+/obj/structure/closet/crate/update_icon()
+ icon_state = "[initial(icon_state)][opened ? "open" : ""]"
+ cut_overlays()
+
/obj/structure/closet/crate/can_open()
if (tablestatus != UNDER_TABLE)//Can't be opened while under a table
return 1
@@ -56,7 +60,7 @@
else
M.visible_message(SPAN_DANGER("\The [M.name] tumbles out of the [src]!"))
- icon_state = icon_opened
+ update_icon()
opened = 1
pass_flags = 0
return 1
@@ -81,13 +85,11 @@
O.forceMove(src)
itemcount++
- icon_state = icon_closed
+ update_icon()
opened = 0
return 1
-
-
/obj/structure/closet/crate/attackby(obj/item/W as obj, mob/user as mob)
if(opened)
return ..()
@@ -252,27 +254,21 @@
/obj/structure/closet/crate/secure
+ name = "secure crate"
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"
- var/broken = 0
- var/locked = 1
+ var/secure_type = "securecrate" // For snowflake security locks n' schiesse.
health = 200
-/obj/structure/closet/crate/secure/Initialize()
- . = ..()
- if(locked)
- cut_overlays()
- add_overlay(redlight)
+/obj/structure/closet/crate/secure/update_icon()
+ ..()
+ if(broken)
+ add_overlay("[secure_type]emag")
+ else if(locked)
+ add_overlay("[secure_type]r")
else
- cut_overlays()
- add_overlay(greenlight)
+ add_overlay("[secure_type]g")
+
/obj/structure/closet/crate/secure/can_open()
if (..())
@@ -298,8 +294,7 @@
if(user)
for(var/mob/O in viewers(user, 3))
O.show_message( "The crate has been [locked ? null : "un"]locked by [user].", 1)
- cut_overlays()
- add_overlay(locked ? redlight : greenlight)
+ update_icon()
/obj/structure/closet/crate/secure/verb/verb_togglelock()
set src in oview(1) // One square distance
@@ -342,9 +337,9 @@
/obj/structure/closet/crate/secure/emag_act(var/remaining_charges, var/mob/user)
if(!broken)
cut_overlays()
- add_overlay(emag)
- add_overlay(sparks)
- CUT_OVERLAY_IN(sparks, 6)
+ add_overlay("[secure_type]emag")
+ add_overlay("[secure_type]sparks")
+ CUT_OVERLAY_IN("[secure_type]sparks", 6)
playsound(loc, /decl/sound_category/spark_sound, 60, 1)
locked = 0
broken = 1
@@ -358,13 +353,13 @@
if(!locked)
locked = 1
cut_overlays()
- add_overlay(redlight)
+ add_overlay("[secure_type]")
else
cut_overlays()
- add_overlay(emag)
- add_overlay(sparks)
- CUT_OVERLAY_IN(sparks, 6)
- playsound(loc, 'sound/effects/sparks4.ogg', 75, 1)
+ add_overlay("[secure_type]emag")
+ add_overlay("[secure_type]sparks")
+ CUT_OVERLAY_IN("[secure_type]sparks", 6)
+ playsound(loc, /decl/sound_category/spark_sound, 75, 1)
locked = 0
if(!opened && prob(20/severity))
if(!locked)
@@ -378,22 +373,16 @@
name = "plastic crate"
desc = "A rectangular plastic crate."
icon_state = "plasticcrate"
- icon_opened = "plasticcrateopen"
- icon_closed = "plasticcrate"
/obj/structure/closet/crate/internals
name = "internals crate"
desc = "A internals crate."
icon_state = "o2crate"
- icon_opened = "o2crateopen"
- icon_closed = "o2crate"
/obj/structure/closet/crate/trashcart
name = "trash cart"
desc = "A heavy, metal trashcart with wheels."
icon_state = "trashcart"
- icon_opened = "trashcartopen"
- icon_closed = "trashcart"
/*these aren't needed anymore
/obj/structure/closet/crate/hat
@@ -415,15 +404,10 @@
name = "medical crate"
desc = "A medical crate."
icon_state = "medicalcrate"
- icon_opened = "medicalcrateopen"
- icon_closed = "medicalcrate"
-
/obj/structure/closet/crate/rfd
name = "\improper RFD C-Class crate"
desc = "A crate with a Rapid-Fabrication-Device C-Class."
icon_state = "crate"
- icon_opened = "crateopen"
- icon_closed = "crate"
/obj/structure/closet/crate/rfd/fill()
new /obj/item/rfd_ammo(src)
@@ -464,8 +448,6 @@
name = "freezer"
desc = "A freezer."
icon_state = "freezer"
- icon_opened = "freezeropen"
- icon_closed = "freezer"
var/target_temp = T0C - 40
var/cooling_power = 40
@@ -495,29 +477,21 @@
name = "large bin"
desc = "A large bin."
icon_state = "largebin"
- icon_opened = "largebinopen"
- icon_closed = "largebin"
/obj/structure/closet/crate/drop
name = "drop crate"
desc = "A large, sturdy crate meant for airdrops."
icon_state = "dropcrate"
- icon_opened = "dropcrate-open"
- icon_closed = "dropcrate"
/obj/structure/closet/crate/drop/grey
name = "drop crate"
desc = "A large, sturdy crate meant for airdrops."
icon_state = "dropcrate-grey"
- icon_opened = "dropcrate-grey-open"
- icon_closed = "dropcrate-grey"
/obj/structure/closet/crate/radiation
name = "radioactive gear crate"
desc = "A crate with a radiation sign on it."
icon_state = "radiation"
- icon_opened = "radiationopen"
- icon_closed = "radiation"
/obj/structure/closet/crate/radiation/fill()
new /obj/item/clothing/suit/radiation(src)
@@ -542,56 +516,39 @@
name = "weapons crate"
desc = "A secure weapons crate."
icon_state = "weaponcrate"
- icon_opened = "weaponcrateopen"
- icon_closed = "weaponcrate"
/obj/structure/closet/crate/secure/legion
name = "foreign legion supply crate"
desc = "A secure supply crate, It carries the insignia of the Tau Ceti Foreign Legion. It appears quite scuffed."
icon_state = "tcflcrate"
- icon_opened = "tcflcrateopen"
- icon_closed = "tcflcrate"
req_access = list(access_legion)
/obj/structure/closet/crate/secure/phoron
name = "phoron crate"
desc = "A secure phoron crate."
icon_state = "phoroncrate"
- icon_opened = "phoroncrateopen"
- icon_closed = "phoroncrate"
/obj/structure/closet/crate/secure/gear
name = "gear crate"
desc = "A secure gear crate."
icon_state = "secgearcrate"
- icon_opened = "secgearcrateopen"
- icon_closed = "secgearcrate"
/obj/structure/closet/crate/secure/hydrosec
name = "secure hydroponics crate"
desc = "A crate with a lock on it, painted in the scheme of the station's botanists."
icon_state = "hydrosecurecrate"
- icon_opened = "hydrosecurecrateopen"
- icon_closed = "hydrosecurecrate"
/obj/structure/closet/crate/secure/bin
name = "secure bin"
desc = "A secure bin."
icon_state = "largebins"
- icon_opened = "largebinsopen"
- icon_closed = "largebins"
- redlight = "largebinr"
- greenlight = "largebing"
- sparks = "largebinsparks"
- emag = "largebinemag"
+ secure_type = "largebin"
/obj/structure/closet/crate/large
name = "large crate"
desc = "A hefty metal crate."
icon = 'icons/obj/storage.dmi'
icon_state = "largemetal"
- icon_opened = "largemetalopen"
- icon_closed = "largemetal"
health = 200
/obj/structure/closet/crate/large/close()
@@ -617,10 +574,7 @@
desc = "A hefty metal crate with an electronic locking system."
icon = 'icons/obj/storage.dmi'
icon_state = "largemetal"
- icon_opened = "largemetalopen"
- icon_closed = "largemetal"
- redlight = "largemetalr"
- greenlight = "largemetalg"
+ secure_type = "largemetal"
health = 400
/obj/structure/closet/crate/secure/large/close()
@@ -645,15 +599,11 @@
/obj/structure/closet/crate/secure/large/reinforced
desc = "A hefty, reinforced metal crate with an electronic locking system."
icon_state = "largermetal"
- icon_opened = "largermetalopen"
- icon_closed = "largermetal"
/obj/structure/closet/crate/hydroponics
name = "hydroponics crate"
desc = "All you need to destroy those pesky weeds and pests."
icon_state = "hydrocrate"
- icon_opened = "hydrocrateopen"
- icon_closed = "hydrocrate"
/obj/structure/closet/crate/hydroponics/prespawned
//This exists so the prespawned hydro crates spawn with their contents.
@@ -685,20 +635,20 @@
//None of these are the standard grey crate sprite, and a few are currently unused ingame
//This ensures that people stumbling across a lootbox will notice it's different and investigate
var/list/iconchoices = list(
- "radiation" = "radiationopen",
- "o2crate" = "o2crateopen",
- "freezer" = "freezeropen",
- "weaponcrate" = "weaponcrateopen",
- "largebins" = "largebinsopen",
- "phoroncrate" = "phoroncrateopen",
- "trashcart" = "trashcartopen",
- "critter" = "critteropen",
- "largemetal" = "largemetalopen",
- "medicalcrate" = "medicalcrateopen",
- "tcflcrate" = "tcflcrateopen",
- "necrocrate" = "necrocrateopen",
- "zenghucrate" = "zenghucrateopen",
- "hephcrate" = "hephcrateopen"
+ "radiation",
+ "o2crate",
+ "freezer",
+ "weaponcrate",
+ "largebins",
+ "phoroncrate",
+ "trashcart",
+ "critter",
+ "largemetal",
+ "medicalcrate",
+ "tcflcrate",
+ "necrocrate",
+ "zenghucrate",
+ "hephcrate"
)
@@ -711,8 +661,7 @@
"3" = (100 - ((STOCK_RARE_PROB * rarity) + (STOCK_UNCOMMON_PROB * rarity)))
)
- icon_closed = pick(iconchoices)
- icon_opened = iconchoices[icon_closed]
+ icon_state = pick(iconchoices)
update_icon()
for (var/i in 1 to quantity)
var/newtype = get_spawntype()
@@ -739,10 +688,7 @@
/obj/structure/closet/crate/autakh
name = "aut'akh crate"
desc = "Contains a number of limbs and augmentations created by the Aut'akh Commune."
- icon = 'icons/obj/storage.dmi'
icon_state = "autakh_crate"
- icon_opened = "autakh_crateopen"
- icon_closed = "autakh_crate"
/obj/structure/closet/crate/autakh/fill()
new /obj/item/organ/external/arm/right/autakh(src)
diff --git a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm
index 804959a51b3..8511f351897 100644
--- a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm
+++ b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm
@@ -7,29 +7,20 @@
desc = "A sturdy crate with Hephaestus Industries branding."
name = "hephaestus drop crate"
icon_state = "hephcrate"
- icon_opened = "hephcrateopen"
- icon_closed = "hephcrate"
/obj/structure/closet/crate/gear_loadout/zenghu
desc = "A sturdy crate with Zeng-Hu Pharmaceuticals branding."
name = "zeng-hu drop crate"
icon_state = "zenghucrate"
- icon_opened = "zenghucrateopen"
- icon_closed = "zenghucrate"
-
/obj/structure/closet/crate/gear_loadout/einstein
desc = "A sturdy crate with Einstein Engines branding."
name = "einstein drop crate"
icon_state = "einsteincrate"
- icon_opened = "einsteincrateopen"
- icon_closed = "einsteincrate"
/obj/structure/closet/crate/gear_loadout/zavodskoi
desc = "A sturdy crate with Zavodskoi Interstellar branding."
name = "zavodskoi interstellar drop crate"
icon_state = "necrocrate"
- icon_opened = "necrocrateopen"
- icon_closed = "necrocrate"
/obj/structure/closet/crate/secure/gear_loadout/coalition/fill()
new /obj/item/rig/gunslinger/equipped(src)
@@ -469,4 +460,4 @@
new /obj/item/clothing/accessory/holster/armpit/brown(src)
new /obj/item/gun/projectile/pistol(src)
new /obj/item/ammo_magazine/mc9mm(src)
- new /obj/item/ammo_magazine/mc9mm(src)
\ No newline at end of file
+ new /obj/item/ammo_magazine/mc9mm(src)
diff --git a/code/modules/clothing/sets/laser_tag.dm b/code/modules/clothing/sets/laser_tag.dm
index e5de5d5469c..235ad1dbf4f 100644
--- a/code/modules/clothing/sets/laser_tag.dm
+++ b/code/modules/clothing/sets/laser_tag.dm
@@ -121,8 +121,7 @@
/obj/structure/closet/lasertag
name = "red laser tag equipment"
desc = "It's a storage unit for laser tag equipment."
- icon_state = "red"
- icon_closed = "red"
+ icon_door = "red"
var/helmet_path = /obj/item/clothing/head/helmet/riot/laser_tag
var/armor_path = /obj/item/clothing/suit/armor/riot/laser_tag
var/gun_path = /obj/item/gun/energy/lasertag/red
@@ -137,8 +136,7 @@
/obj/structure/closet/lasertag/blue
name = "blue laser tag equipment"
- icon_state = "blue"
- icon_closed = "blue"
+ icon_door = "blue"
helmet_path = /obj/item/clothing/head/helmet/riot/laser_tag/blue
armor_path = /obj/item/clothing/suit/armor/riot/laser_tag/blue
- gun_path = /obj/item/gun/energy/lasertag/blue
\ No newline at end of file
+ gun_path = /obj/item/gun/energy/lasertag/blue
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 5fb05b1c5bb..924fdcdcade 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -1142,7 +1142,6 @@ All custom items with worn sprites must follow the contained sprite system: http
item_state = "nai_gloves"
contained_sprite = TRUE
-
/obj/item/clothing/head/fluff/djikstra_hood //Stellar Hood - Msizi Djikstra - happyfox
name = "stellar hood"
desc = "A more encompassing version of the Starveil, made from a resilient xeno-silk, intended to protect not just the eyes but also the soul of the wearer."
diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm
index 0bcb9144716..37d738172ec 100644
--- a/code/modules/mining/abandonedcrates.dm
+++ b/code/modules/mining/abandonedcrates.dm
@@ -2,8 +2,6 @@
name = "abandoned crate"
desc = "What could be inside?"
icon_state = "securecrate"
- icon_opened = "securecrateopen"
- icon_closed = "securecrate"
var/list/code = list()
var/list/lastattempt = list()
var/attempts = 15
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 7d6eae1c703..33964a43453 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -2,12 +2,7 @@
/obj/structure/closet/secure_closet/miner
name = "shaft miner locker"
- icon_state = "miningsec1"
- icon_closed = "miningsec"
- icon_locked = "miningsec1"
- icon_opened = "miningsecopen"
- icon_broken = "miningsecbroken"
- icon_off = "miningsecoff"
+ icon_state = "mining"
req_access = list(access_mining)
/obj/structure/closet/secure_closet/miner/fill()
diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm
index 8f713a4797f..9d5bfbfc6c0 100644
--- a/code/modules/research/xenoarchaeology/misc.dm
+++ b/code/modules/research/xenoarchaeology/misc.dm
@@ -62,12 +62,7 @@
/obj/structure/closet/secure_closet/xenoarchaeologist
name = "xenoarchaeologist locker"
req_access = list(access_tox_storage)
- icon_state = "secureres1"
- icon_closed = "secureres"
- icon_locked = "secureres1"
- icon_opened = "secureresopen"
- icon_broken = "secureresbroken"
- icon_off = "secureresoff"
+ icon_state = "science"
/obj/structure/closet/secure_closet/xenoarchaeologist/fill()
new /obj/item/clothing/under/rank/scientist(src)
@@ -81,9 +76,8 @@
/obj/structure/closet/excavation
name = "excavation tools"
- icon_state = "toolcloset"
- icon_closed = "toolcloset"
- icon_opened = "toolclosetopen"
+ icon_state = "eng"
+ icon_door = "eng_tool"
/obj/structure/closet/excavation/fill()
new /obj/item/storage/belt/archaeology(src)
diff --git a/html/changelogs/wezzy_closet_anim.yml b/html/changelogs/wezzy_closet_anim.yml
new file mode 100644
index 00000000000..a1dd9016329
--- /dev/null
+++ b/html/changelogs/wezzy_closet_anim.yml
@@ -0,0 +1,41 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: Wowzewow (Wezzy), monster860
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Adds animation to opening and closing lockers and body bags."
\ No newline at end of file
diff --git a/icons/obj/bodybag.dmi b/icons/obj/bodybag.dmi
index f693b9ffb3d..7a47440b9be 100644
Binary files a/icons/obj/bodybag.dmi and b/icons/obj/bodybag.dmi differ
diff --git a/icons/obj/closet.dmi b/icons/obj/closet.dmi
index ef6c3b3c111..e7df29358c5 100644
Binary files a/icons/obj/closet.dmi and b/icons/obj/closet.dmi differ
diff --git a/icons/obj/cryobag.dmi b/icons/obj/cryobag.dmi
deleted file mode 100644
index a3561e106ee..00000000000
Binary files a/icons/obj/cryobag.dmi and /dev/null differ
diff --git a/icons/obj/lockwall.dmi b/icons/obj/lockwall.dmi
deleted file mode 100644
index 25d96436d19..00000000000
Binary files a/icons/obj/lockwall.dmi and /dev/null differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index aa3b668b698..7a730ef5218 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ
diff --git a/icons/obj/walllocker.dmi b/icons/obj/walllocker.dmi
index 51b2dddcd5c..237250a7124 100644
Binary files a/icons/obj/walllocker.dmi and b/icons/obj/walllocker.dmi differ
diff --git a/maps/_common/areas/station/security.dm b/maps/_common/areas/station/security.dm
index 68449749150..e5dc55bbb5a 100644
--- a/maps/_common/areas/station/security.dm
+++ b/maps/_common/areas/station/security.dm
@@ -26,7 +26,7 @@
/area/security/brig/prison_break()
for(var/obj/structure/closet/secure_closet/brig/temp_closet in src)
temp_closet.locked = 0
- temp_closet.icon_state = temp_closet.icon_closed
+ temp_closet.update_icon()
for(var/obj/machinery/door_timer/temp_timer in src)
temp_timer.releasetime = 1
..()
@@ -51,7 +51,7 @@
/area/security/prison/prison_break()
for(var/obj/structure/closet/secure_closet/brig/temp_closet in src)
temp_closet.locked = 0
- temp_closet.icon_state = temp_closet.icon_closed
+ temp_closet.update_icon()
for(var/obj/machinery/door_timer/temp_timer in src)
temp_timer.releasetime = 1
..()
diff --git a/maps/aurora/aurora-1_centcomm.dmm b/maps/aurora/aurora-1_centcomm.dmm
index 829c9b53965..e91f1d84dbd 100644
--- a/maps/aurora/aurora-1_centcomm.dmm
+++ b/maps/aurora/aurora-1_centcomm.dmm
@@ -2799,12 +2799,7 @@
"ala" = (
/obj/structure/closet/secure_closet{
anchored = 1;
- icon_broken = "cabinetdetective_broken";
- icon_closed = "cabinetdetective";
- icon_locked = "cabinetdetective_locked";
- icon_off = "cabinetdetective_broken";
- icon_opened = "cabinetdetective_open";
- icon_state = "cabinetdetective_locked";
+ icon_state = "cabinet";
name = "legate's closet";
req_access = list(108,111)
},
@@ -3985,12 +3980,6 @@
/area/centcom/holding)
"awE" = (
/obj/structure/closet/secure_closet{
- icon_broken = "secbroken";
- icon_closed = "sec";
- icon_locked = "sec1";
- icon_off = "secoff";
- icon_opened = "secopen";
- icon_state = "sec1";
name = "equipment locker"
},
/turf/unsimulated/floor{
@@ -8217,8 +8206,6 @@
/area/centcom/ferry)
"bvr" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -9317,9 +9304,8 @@
pixel_y = 6
},
/obj/structure/closet{
- icon_closed = "toolcloset";
- icon_opened = "toolclosetopen";
- icon_state = "toolcloset"
+ icon_state = "eng";
+ icon_door = "eng_tool";
},
/obj/structure/lattice/catwalk/indoor/grate,
/obj/item/pickaxe/jackhammer,
@@ -9441,8 +9427,7 @@
/area/centcom/legion/hangar5)
"clq" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "Spare Uniforms"
},
/obj/item/clothing/under/legion,
@@ -11628,8 +11613,7 @@
/area/centcom/ferry)
"dIG" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "megacorp clothing"
},
/obj/item/clothing/under/rank/einstein_engines,
@@ -14454,8 +14438,6 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet{
- icon_closed = "emergency";
- icon_opened = "emergencyopen";
icon_state = "emergency";
name = "offworlder supplies"
},
@@ -16202,8 +16184,7 @@
/area/shuttle/administration)
"gtA" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "misc clothing"
},
/obj/item/clothing/mask/pig,
@@ -20999,8 +20980,6 @@
dir = 8
},
/obj/structure/closet{
- icon_closed = "emergency";
- icon_opened = "emergencyopen";
icon_state = "emergency";
name = "offworlder supplies"
},
@@ -21294,8 +21273,6 @@
/area/antag/mercenary)
"jFk" = (
/obj/structure/closet{
- icon_closed = "emergency";
- icon_opened = "emergencyopen";
icon_state = "emergency";
name = "offworlder supplies"
},
@@ -21318,8 +21295,6 @@
/area/antag/mercenary)
"jFq" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -26722,8 +26697,7 @@
dir = 1
},
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "\improper FIB tactical gear"
},
/obj/item/clothing/gloves/swat/tactical,
@@ -28050,8 +28024,6 @@
/area/shuttle/mercenary)
"nRM" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "sol clothing"
},
@@ -29010,8 +28982,7 @@
/area/centcom/legion)
"ozg" = (
/obj/structure/closet{
- icon_closed = "white";
- icon_state = "white";
+ icon_door = "white";
name = "Fresh Scrubs"
},
/obj/item/clothing/under/rank/medical/blue,
@@ -29728,8 +29699,6 @@
/area/shuttle/administration)
"oZm" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -30148,8 +30117,6 @@
/area/shuttle/administration)
"prI" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -30704,8 +30671,7 @@
icon_state = "tube1"
},
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "spare modules"
},
/turf/unsimulated/floor{
@@ -30794,8 +30760,6 @@
/area/shuttle/merchant)
"pIu" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -30891,8 +30855,6 @@
/area/template_noop)
"pKR" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -39256,8 +39218,7 @@
/area/centcom/legion/hangar5)
"vKR" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "Spare Uniforms"
},
/obj/item/clothing/under/legion,
diff --git a/maps/aurora/aurora-3_sublevel.dmm b/maps/aurora/aurora-3_sublevel.dmm
index 94915a11904..36d496201b1 100644
--- a/maps/aurora/aurora-3_sublevel.dmm
+++ b/maps/aurora/aurora-3_sublevel.dmm
@@ -30114,9 +30114,7 @@
/area/mine/unexplored)
"jVc" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed";
+ icon_state = "cabinet";
name = "Clothing Storage"
},
/turf/simulated/floor/wood,
diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm
index 080f795525f..5f30afadd41 100644
--- a/maps/aurora/aurora-4_mainlevel.dmm
+++ b/maps/aurora/aurora-4_mainlevel.dmm
@@ -59130,9 +59130,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/costume/imperium_monk,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/turf/simulated/floor/wood,
/area/maintenance/bar)
@@ -61812,9 +61810,7 @@
/obj/item/clothing/under/mime,
/obj/item/toy/figure/mime,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/wood,
@@ -63386,9 +63382,7 @@
/obj/effect/landmark/costume/commie,
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/turf/simulated/floor/wood,
/area/maintenance/bar)
@@ -63597,9 +63591,7 @@
"liM" = (
/obj/item/toy/figure/clown,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/wood,
@@ -64026,9 +64018,7 @@
/obj/item/pen/multi,
/obj/item/device/camera,
/obj/structure/closet/lawcloset{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/structure/cable/green{
icon_state = "2-4"
@@ -65072,9 +65062,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/landmark/costume/gladiator,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/turf/simulated/floor/wood,
/area/maintenance/bar)
@@ -67733,9 +67721,7 @@
/obj/effect/landmark/costume/elpresidente,
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/turf/simulated/floor/wood,
/area/maintenance/bar)
diff --git a/maps/aurora/aurora-5_interstitial.dmm b/maps/aurora/aurora-5_interstitial.dmm
index 84d5c198e14..bf6075ff325 100644
--- a/maps/aurora/aurora-5_interstitial.dmm
+++ b/maps/aurora/aurora-5_interstitial.dmm
@@ -11681,12 +11681,7 @@
/area/maintenance/medbay_interstitial)
"YU" = (
/obj/structure/closet/secure_closet/freezer{
- icon_broken = "fridgebroken";
- icon_closed = "fridge";
- icon_locked = "fridge1";
- icon_off = "fridgeoff";
- icon_opened = "fridgeopen";
- icon_state = "fridge1";
+ icon_state = "fridge";
name = "refrigerator"
},
/obj/effect/floor_decal/corner/grey/diagonal,
diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm
index df6490392a8..0ecc156d8d1 100644
--- a/maps/aurora/aurora-6_surface.dmm
+++ b/maps/aurora/aurora-6_surface.dmm
@@ -26225,12 +26225,7 @@
},
/obj/effect/floor_decal/corner/blue/diagonal,
/obj/structure/closet/secure_closet/freezer{
- icon_broken = "fridgebroken";
- icon_closed = "fridge";
- icon_locked = "fridge1";
- icon_off = "fridge1";
- icon_opened = "fridgeopen";
- icon_state = "fridge1";
+ icon_state = "freezer"
name = "cafe fridge"
},
/obj/machinery/button/remote/blast_door{
diff --git a/maps/event/odin_departure/odin_depature-1.dmm b/maps/event/odin_departure/odin_depature-1.dmm
index 4a0401cd23e..41f2e232b4d 100644
--- a/maps/event/odin_departure/odin_depature-1.dmm
+++ b/maps/event/odin_departure/odin_depature-1.dmm
@@ -2799,12 +2799,7 @@
"ala" = (
/obj/structure/closet/secure_closet{
anchored = 1;
- icon_broken = "cabinetdetective_broken";
- icon_closed = "cabinetdetective";
- icon_locked = "cabinetdetective_locked";
- icon_off = "cabinetdetective_broken";
- icon_opened = "cabinetdetective_open";
- icon_state = "cabinetdetective_locked";
+ icon_state = "closet";
name = "legate's closet";
req_access = list(108,111)
},
@@ -3993,12 +3988,6 @@
/area/centcom/holding)
"awE" = (
/obj/structure/closet/secure_closet{
- icon_broken = "secbroken";
- icon_closed = "sec";
- icon_locked = "sec1";
- icon_off = "secoff";
- icon_opened = "secopen";
- icon_state = "sec1";
name = "equipment locker"
},
/turf/unsimulated/floor{
@@ -8277,8 +8266,6 @@
/area/centcom/ferry)
"bvr" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -9393,9 +9380,8 @@
pixel_y = 6
},
/obj/structure/closet{
- icon_closed = "toolcloset";
- icon_opened = "toolclosetopen";
- icon_state = "toolcloset"
+ icon_state = "eng"
+ icon_door = "eng_tool"
},
/obj/structure/lattice/catwalk/indoor/grate,
/obj/item/pickaxe/jackhammer,
@@ -9517,8 +9503,7 @@
/area/centcom/legion/hangar5)
"clq" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "Spare Uniforms"
},
/obj/item/clothing/under/legion,
@@ -11704,8 +11689,7 @@
/area/centcom/ferry)
"dIG" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "megacorp clothing"
},
/obj/item/clothing/under/rank/einstein_engines,
@@ -14596,8 +14580,6 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet{
- icon_closed = "emergency";
- icon_opened = "emergencyopen";
icon_state = "emergency";
name = "offworlder supplies"
},
@@ -16368,8 +16350,7 @@
/area/shuttle/administration)
"gtA" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "misc clothing"
},
/obj/item/clothing/mask/pig,
@@ -21276,8 +21257,6 @@
dir = 8
},
/obj/structure/closet{
- icon_closed = "emergency";
- icon_opened = "emergencyopen";
icon_state = "emergency";
name = "offworlder supplies"
},
@@ -21571,8 +21550,6 @@
/area/antag/mercenary)
"jFk" = (
/obj/structure/closet{
- icon_closed = "emergency";
- icon_opened = "emergencyopen";
icon_state = "emergency";
name = "offworlder supplies"
},
@@ -21595,8 +21572,6 @@
/area/antag/mercenary)
"jFq" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -27127,8 +27102,7 @@
dir = 1
},
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "\improper FIB tactical gear"
},
/obj/item/clothing/gloves/swat/tactical,
@@ -28455,8 +28429,6 @@
/area/shuttle/mercenary)
"nRM" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "sol clothing"
},
@@ -29412,8 +29384,7 @@
/area/centcom/legion)
"ozg" = (
/obj/structure/closet{
- icon_closed = "white";
- icon_state = "white";
+ icon_door = "white";
name = "Fresh Scrubs"
},
/obj/item/clothing/under/rank/medical/blue,
@@ -30130,8 +30101,6 @@
/area/shuttle/administration)
"oZm" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -30550,8 +30519,6 @@
/area/shuttle/administration)
"prI" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -31109,8 +31076,7 @@
icon_state = "tube1"
},
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "spare modules"
},
/turf/unsimulated/floor{
@@ -31199,8 +31165,6 @@
/area/shuttle/merchant)
"pIu" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -31296,8 +31260,6 @@
/area/template_noop)
"pKR" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -39773,8 +39735,7 @@
/area/centcom/legion/hangar5)
"vKR" = (
/obj/structure/closet{
- icon_closed = "blue";
- icon_state = "blue";
+ icon_door = "blue";
name = "Spare Uniforms"
},
/obj/item/clothing/under/legion,
diff --git a/maps/exodus/exodus-1_station.dmm b/maps/exodus/exodus-1_station.dmm
index c797bef3f10..d840f754ef7 100644
--- a/maps/exodus/exodus-1_station.dmm
+++ b/maps/exodus/exodus-1_station.dmm
@@ -14170,18 +14170,14 @@
"aAX" = (
/obj/machinery/light,
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed";
+ icon_state = "cabinet";
name = "Clothing Storage"
},
/turf/simulated/floor/tiled/dark,
/area/crew_quarters/fitness)
"aAY" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed";
+ icon_state = "cabinet";
name = "Clothing Storage"
},
/turf/simulated/floor/tiled/dark,
diff --git a/maps/exodus/exodus-2_centcomm.dmm b/maps/exodus/exodus-2_centcomm.dmm
index 3064329a4b2..6875cc16950 100644
--- a/maps/exodus/exodus-2_centcomm.dmm
+++ b/maps/exodus/exodus-2_centcomm.dmm
@@ -6061,8 +6061,6 @@
/area/centcom/specops)
"axK" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -8072,8 +8070,6 @@
/area/centcom/specops)
"aEU" = (
/obj/structure/closet{
- icon_closed = "syndicate1";
- icon_opened = "syndicate1open";
icon_state = "syndicate1";
name = "emergency response team wardrobe"
},
@@ -9474,9 +9470,7 @@
/area/antag/wizard)
"aKa" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/suit/wizrobe/red,
/obj/item/clothing/shoes/sandal,
@@ -9489,9 +9483,7 @@
/area/antag/wizard)
"aKb" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/suit/wizrobe/marisa,
/obj/item/clothing/shoes/sandal/marisa,
@@ -9504,9 +9496,7 @@
/area/antag/wizard)
"aKc" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/suit/wizrobe/magusblue,
/obj/item/clothing/head/wizard/magus,
@@ -9572,9 +9562,7 @@
/area/antag/wizard)
"aKm" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/suit/wizrobe/psypurple,
/obj/item/clothing/head/wizard/amp,
@@ -9585,9 +9573,7 @@
/area/antag/wizard)
"aKn" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/shoes/sandal/marisa{
desc = "A set of fancy shoes that are as functional as they are comfortable.";
@@ -9603,9 +9589,7 @@
/area/antag/wizard)
"aKo" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/suit/wizrobe/magusred,
/obj/item/clothing/head/wizard/magus,
@@ -17412,9 +17396,7 @@
/area/centcom/shared_dream)
"gOW" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/obj/item/clothing/accessory/legion,
/obj/item/clothing/head/beret/legion,
@@ -19968,9 +19950,7 @@
/area/centcom/legion)
"unX" = (
/obj/structure/closet{
- icon_closed = "cabinet_closed";
- icon_opened = "cabinet_open";
- icon_state = "cabinet_closed"
+ icon_state = "cabinet"
},
/turf/unsimulated/floor{
icon_state = "wood"