diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 62cbf9cc28e..15d0f4ffd34 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -35,6 +35,7 @@ var/secured_wires = 0 var/datum/wires/airlock/wires = null var/obj/item/device/magnetic_lock/bracer = null + var/panel_visible_while_open = FALSE var/open_sound_powered = 'sound/machines/airlock.ogg' var/close_sound_powered = 'sound/machines/AirlockClose.ogg' @@ -138,6 +139,7 @@ explosion_resistance = 5 opacity = 0 glass = 1 + panel_visible_while_open = TRUE hatch_colour = "#eaeaea" /obj/machinery/door/airlock/centcom @@ -174,9 +176,10 @@ explosion_resistance = 20 opacity = 1 secured_wires = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. + assembly_type = /obj/structure/door_assembly/door_assembly_vault hashatch = 0 maxhealth = 800 + panel_visible_while_open = TRUE /obj/machinery/door/airlock/vault/bolted icon_state = "door_locked" @@ -621,7 +624,11 @@ About the new airlock wires panel: hatch_image.icon_state = hatchstyle add_overlay(hatch_image) else - icon_state = "door_open" + if(p_open && panel_visible_while_open) + icon_state = "o_door_open" + else + icon_state = "door_open" + if((stat & BROKEN) && !(stat & NOPOWER)) add_overlay("sparks_open") if (has_set_boltlight) @@ -639,7 +646,7 @@ About the new airlock wires panel: flick("o_door_opening", src) update_icon() else - flick("door_opening", src)//[stat ? "_stat":] + flick(stat ? "door_opening_stat" : "door_opening", src) update_icon() if("closing") if(overlays) @@ -649,7 +656,7 @@ About the new airlock wires panel: flick("o_door_closing", src) update_icon() else - flick("door_closing", src) + flick(stat ? "door_closing_stat" : "door_closing", src) update_icon() if("spark") if(density) diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm index 21c62bc05fa..ce37603f5a8 100644 --- a/code/game/machinery/doors/multi_tile.dm +++ b/code/game/machinery/doors/multi_tile.dm @@ -7,10 +7,14 @@ /obj/machinery/door/airlock/multi_tile/Initialize() . = ..() SetBounds() + setup_hatch() + update_icon() /obj/machinery/door/airlock/multi_tile/Move() . = ..() SetBounds() + setup_hatch() + update_icon() /obj/machinery/door/airlock/multi_tile/proc/SetBounds() @@ -34,14 +38,21 @@ hatch_image = image('icons/obj/doors/hatches.dmi', src, hatchstyle, closed_layer+0.1) hatch_image.color = hatch_colour switch(dir) - if(EAST, WEST) + if(EAST) hatch_image.pixel_x = hatch_offset_x hatch_image.pixel_y = hatch_offset_y - else + if(WEST) + hatch_image.transform = turn(hatch_image.transform, 180) + hatch_image.pixel_x = hatch_offset_x + hatch_image.pixel_y = hatch_offset_y + if(NORTH) + hatch_image.transform = turn(hatch_image.transform, -90) hatch_image.pixel_x = hatch_offset_y hatch_image.pixel_y = hatch_offset_x + if(SOUTH) hatch_image.transform = turn(hatch_image.transform, 90) - + hatch_image.pixel_x = hatch_offset_y + hatch_image.pixel_y = hatch_offset_x add_overlay(hatch_image) else spawn(10)//If overlays aren't initialised, wait a second and try again diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 800be635beb..d17026eaef4 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -101,12 +101,24 @@ airlock_type = "/maintenance_hatch" glass = -1 -/obj/structure/door_assembly/door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly +/obj/structure/door_assembly/door_assembly_highsecurity base_icon_state = "highsec" base_name = "High Security Airlock" airlock_type = "/highsecurity" glass = -1 +/obj/structure/door_assembly/door_assembly_vault + base_icon_state = "vault" + base_name = "Vault" + airlock_type = "/vault" + glass = -1 + +/obj/structure/door_assembly/door_assembly_lift + base_icon_state = "lift" + base_name = "Elevator Door" + airlock_type = "/lift" + glass = -1 + /obj/structure/door_assembly/multi_tile icon = 'icons/obj/doors/door_assembly2x1.dmi' dir = EAST diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index f04c76a5b4d..076519edaaf 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -68,6 +68,7 @@ new/datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("vault assembly", /obj/structure/door_assembly/door_assembly_vault, 10, time = 100, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("emergency shutter", /obj/structure/firedoor_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("multi-tile airlock assembly", /obj/structure/door_assembly/multi_tile, 4, time = 50, one_per_turf = 1, on_floor = 1), \ )) diff --git a/code/modules/turbolift/turbolift_door.dm b/code/modules/turbolift/turbolift_door.dm index 4be831ec64c..63da123e86f 100644 --- a/code/modules/turbolift/turbolift_door.dm +++ b/code/modules/turbolift/turbolift_door.dm @@ -6,7 +6,9 @@ autoclose = 0 glass = 1 icon = 'icons/obj/doors/doorlift.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_lift hashatch = 0 + panel_visible_while_open = TRUE var/datum/turbolift/lift var/datum/turbolift_floor/floor diff --git a/icons/obj/doors/Door1.dmi b/icons/obj/doors/Door1.dmi deleted file mode 100644 index 680d48ecaf1..00000000000 Binary files a/icons/obj/doors/Door1.dmi and /dev/null differ diff --git a/icons/obj/doors/Door2x1glass.dmi b/icons/obj/doors/Door2x1glass.dmi index b05a7a931a2..68f0cbeeb95 100644 Binary files a/icons/obj/doors/Door2x1glass.dmi and b/icons/obj/doors/Door2x1glass.dmi differ diff --git a/icons/obj/doors/DoorHazard.dmi b/icons/obj/doors/DoorHazard.dmi index 7f6114aa2e3..cdb166f34c2 100644 Binary files a/icons/obj/doors/DoorHazard.dmi and b/icons/obj/doors/DoorHazard.dmi differ diff --git a/icons/obj/doors/DoorSAC.dmi b/icons/obj/doors/DoorSAC.dmi index c1f0ade52a5..424a1c17499 100644 Binary files a/icons/obj/doors/DoorSAC.dmi and b/icons/obj/doors/DoorSAC.dmi differ diff --git a/icons/obj/doors/Dooratmo.dmi b/icons/obj/doors/Dooratmo.dmi index a9cc31f9d73..bccf7b765a8 100644 Binary files a/icons/obj/doors/Dooratmo.dmi and b/icons/obj/doors/Dooratmo.dmi differ diff --git a/icons/obj/doors/Dooratmoglass.dmi b/icons/obj/doors/Dooratmoglass.dmi index 37928a80c53..4791aaaec92 100644 Binary files a/icons/obj/doors/Dooratmoglass.dmi and b/icons/obj/doors/Dooratmoglass.dmi differ diff --git a/icons/obj/doors/Doorbananium.dmi b/icons/obj/doors/Doorbananium.dmi index e50a4773c30..4beedfe4074 100644 Binary files a/icons/obj/doors/Doorbananium.dmi and b/icons/obj/doors/Doorbananium.dmi differ diff --git a/icons/obj/doors/Doorcom.dmi b/icons/obj/doors/Doorcom.dmi index 315f6441887..51f9e5d8a41 100644 Binary files a/icons/obj/doors/Doorcom.dmi and b/icons/obj/doors/Doorcom.dmi differ diff --git a/icons/obj/doors/Doorcomglass.dmi b/icons/obj/doors/Doorcomglass.dmi index fa9599b8c3d..25f8a94de61 100644 Binary files a/icons/obj/doors/Doorcomglass.dmi and b/icons/obj/doors/Doorcomglass.dmi differ diff --git a/icons/obj/doors/Doordiamond.dmi b/icons/obj/doors/Doordiamond.dmi index 6504d463b9d..9916c868cfd 100644 Binary files a/icons/obj/doors/Doordiamond.dmi and b/icons/obj/doors/Doordiamond.dmi differ diff --git a/icons/obj/doors/Doorele.dmi b/icons/obj/doors/Doorele.dmi index 1e5b97d712d..a844ec7b4c4 100644 Binary files a/icons/obj/doors/Doorele.dmi and b/icons/obj/doors/Doorele.dmi differ diff --git a/icons/obj/doors/Dooreng.dmi b/icons/obj/doors/Dooreng.dmi index 07cb0dd9a89..d0e64b3a31d 100644 Binary files a/icons/obj/doors/Dooreng.dmi and b/icons/obj/doors/Dooreng.dmi differ diff --git a/icons/obj/doors/Doorengglass.dmi b/icons/obj/doors/Doorengglass.dmi index 191c0f46cee..a0ccdaf5ccd 100644 Binary files a/icons/obj/doors/Doorengglass.dmi and b/icons/obj/doors/Doorengglass.dmi differ diff --git a/icons/obj/doors/Doorext.dmi b/icons/obj/doors/Doorext.dmi index 2660865175b..35c1d4f4e74 100644 Binary files a/icons/obj/doors/Doorext.dmi and b/icons/obj/doors/Doorext.dmi differ diff --git a/icons/obj/doors/Doorf.dmi b/icons/obj/doors/Doorf.dmi index 040cdf77cbf..5ece7e6cd9a 100644 Binary files a/icons/obj/doors/Doorf.dmi and b/icons/obj/doors/Doorf.dmi differ diff --git a/icons/obj/doors/Doorfire.dmi b/icons/obj/doors/Doorfire.dmi index e996780a74c..8daae65e567 100644 Binary files a/icons/obj/doors/Doorfire.dmi and b/icons/obj/doors/Doorfire.dmi differ diff --git a/icons/obj/doors/Doorfreezer.dmi b/icons/obj/doors/Doorfreezer.dmi index f201659bb06..194f55d70bb 100644 Binary files a/icons/obj/doors/Doorfreezer.dmi and b/icons/obj/doors/Doorfreezer.dmi differ diff --git a/icons/obj/doors/Doorglass.dmi b/icons/obj/doors/Doorglass.dmi index 9eb7098c62e..9f3e8626448 100644 Binary files a/icons/obj/doors/Doorglass.dmi and b/icons/obj/doors/Doorglass.dmi differ diff --git a/icons/obj/doors/Doorgold.dmi b/icons/obj/doors/Doorgold.dmi index 30e44c7610c..bfa31252bfa 100644 Binary files a/icons/obj/doors/Doorgold.dmi and b/icons/obj/doors/Doorgold.dmi differ diff --git a/icons/obj/doors/Doorhatchele.dmi b/icons/obj/doors/Doorhatchele.dmi index 5b619964dbb..2c57d4c907a 100644 Binary files a/icons/obj/doors/Doorhatchele.dmi and b/icons/obj/doors/Doorhatchele.dmi differ diff --git a/icons/obj/doors/Doorhatchmaint2.dmi b/icons/obj/doors/Doorhatchmaint2.dmi index 8107f8416e5..af3c2b5dbc2 100644 Binary files a/icons/obj/doors/Doorhatchmaint2.dmi and b/icons/obj/doors/Doorhatchmaint2.dmi differ diff --git a/icons/obj/doors/Doormaint.dmi b/icons/obj/doors/Doormaint.dmi index 5e71c4da761..6695359e72e 100644 Binary files a/icons/obj/doors/Doormaint.dmi and b/icons/obj/doors/Doormaint.dmi differ diff --git a/icons/obj/doors/Doormaintfreezer.dmi b/icons/obj/doors/Doormaintfreezer.dmi index 618549290f3..9e71bb6f044 100644 Binary files a/icons/obj/doors/Doormaintfreezer.dmi and b/icons/obj/doors/Doormaintfreezer.dmi differ diff --git a/icons/obj/doors/Doormining.dmi b/icons/obj/doors/Doormining.dmi index 08f5e9799af..27ec2058cf1 100644 Binary files a/icons/obj/doors/Doormining.dmi and b/icons/obj/doors/Doormining.dmi differ diff --git a/icons/obj/doors/Doorminingglass.dmi b/icons/obj/doors/Doorminingglass.dmi index 5894f9b8259..b0467e2365b 100644 Binary files a/icons/obj/doors/Doorminingglass.dmi and b/icons/obj/doors/Doorminingglass.dmi differ diff --git a/icons/obj/doors/Doorphoron.dmi b/icons/obj/doors/Doorphoron.dmi index cfc8e3cd618..8eb4acb792c 100644 Binary files a/icons/obj/doors/Doorphoron.dmi and b/icons/obj/doors/Doorphoron.dmi differ diff --git a/icons/obj/doors/Doorsand.dmi b/icons/obj/doors/Doorsand.dmi index 22977d5c27b..ea50f1ebf17 100644 Binary files a/icons/obj/doors/Doorsand.dmi and b/icons/obj/doors/Doorsand.dmi differ diff --git a/icons/obj/doors/Doorsec.dmi b/icons/obj/doors/Doorsec.dmi index c0217e2652f..2af3cb767d9 100644 Binary files a/icons/obj/doors/Doorsec.dmi and b/icons/obj/doors/Doorsec.dmi differ diff --git a/icons/obj/doors/Doorsecglass.dmi b/icons/obj/doors/Doorsecglass.dmi index ba900e74e11..1e269b8e0e3 100644 Binary files a/icons/obj/doors/Doorsecglass.dmi and b/icons/obj/doors/Doorsecglass.dmi differ diff --git a/icons/obj/doors/Doorsilver.dmi b/icons/obj/doors/Doorsilver.dmi index 13f8797e105..2082ec058e7 100644 Binary files a/icons/obj/doors/Doorsilver.dmi and b/icons/obj/doors/Doorsilver.dmi differ diff --git a/icons/obj/doors/Dooruranium.dmi b/icons/obj/doors/Dooruranium.dmi index 96944cbd004..6a5fde9eccb 100644 Binary files a/icons/obj/doors/Dooruranium.dmi and b/icons/obj/doors/Dooruranium.dmi differ diff --git a/icons/obj/doors/door_assembly.dmi b/icons/obj/doors/door_assembly.dmi index 6a05ed56982..372af7fe6ca 100644 Binary files a/icons/obj/doors/door_assembly.dmi and b/icons/obj/doors/door_assembly.dmi differ diff --git a/icons/obj/doors/door_assembly2x1.dmi b/icons/obj/doors/door_assembly2x1.dmi index f6e5657d748..168837c1a18 100644 Binary files a/icons/obj/doors/door_assembly2x1.dmi and b/icons/obj/doors/door_assembly2x1.dmi differ diff --git a/icons/obj/doors/door_fire2.dmi b/icons/obj/doors/door_fire2.dmi deleted file mode 100644 index 6c5943c7ed9..00000000000 Binary files a/icons/obj/doors/door_fire2.dmi and /dev/null differ diff --git a/icons/obj/doors/doorint.dmi b/icons/obj/doors/doorint.dmi index ea93570e4b7..7a5fb7d6f0a 100644 Binary files a/icons/obj/doors/doorint.dmi and b/icons/obj/doors/doorint.dmi differ diff --git a/icons/obj/doors/doorlift.dmi b/icons/obj/doors/doorlift.dmi index 3b037a89568..1b08519281b 100644 Binary files a/icons/obj/doors/doorlift.dmi and b/icons/obj/doors/doorlift.dmi differ diff --git a/icons/obj/doors/doormed.dmi b/icons/obj/doors/doormed.dmi index 06f142ef71f..3ca631d2d4a 100644 Binary files a/icons/obj/doors/doormed.dmi and b/icons/obj/doors/doormed.dmi differ diff --git a/icons/obj/doors/doormedglass.dmi b/icons/obj/doors/doormedglass.dmi index fcca7729516..0b02dc3f12c 100644 Binary files a/icons/obj/doors/doormedglass.dmi and b/icons/obj/doors/doormedglass.dmi differ diff --git a/icons/obj/doors/doormorgue.dmi b/icons/obj/doors/doormorgue.dmi index c0ed1147325..626ac4bb6de 100644 Binary files a/icons/obj/doors/doormorgue.dmi and b/icons/obj/doors/doormorgue.dmi differ diff --git a/icons/obj/doors/doorresearch.dmi b/icons/obj/doors/doorresearch.dmi index a95e7b066fa..43685d89bb0 100644 Binary files a/icons/obj/doors/doorresearch.dmi and b/icons/obj/doors/doorresearch.dmi differ diff --git a/icons/obj/doors/doorresearchglass.dmi b/icons/obj/doors/doorresearchglass.dmi index 9bc2db4610c..62adf628a7a 100644 Binary files a/icons/obj/doors/doorresearchglass.dmi and b/icons/obj/doors/doorresearchglass.dmi differ diff --git a/icons/obj/doors/doorsci.dmi b/icons/obj/doors/doorsci.dmi index 88292a3df26..57bd8dc6a39 100644 Binary files a/icons/obj/doors/doorsci.dmi and b/icons/obj/doors/doorsci.dmi differ diff --git a/icons/obj/doors/doorsciglass.dmi b/icons/obj/doors/doorsciglass.dmi index f08906d7a49..0f56495b311 100644 Binary files a/icons/obj/doors/doorsciglass.dmi and b/icons/obj/doors/doorsciglass.dmi differ diff --git a/icons/obj/doors/edge_Doorfire.dmi b/icons/obj/doors/edge_Doorfire.dmi index c0f815182a5..fcfc4b3b7d1 100644 Binary files a/icons/obj/doors/edge_Doorfire.dmi and b/icons/obj/doors/edge_Doorfire.dmi differ diff --git a/icons/obj/doors/hightechsecurity.dmi b/icons/obj/doors/hightechsecurity.dmi index 4fb27f85064..236995e9146 100644 Binary files a/icons/obj/doors/hightechsecurity.dmi and b/icons/obj/doors/hightechsecurity.dmi differ diff --git a/icons/obj/doors/material_doors.dmi b/icons/obj/doors/material_doors.dmi index da1780ff8b6..ccbae06949e 100644 Binary files a/icons/obj/doors/material_doors.dmi and b/icons/obj/doors/material_doors.dmi differ diff --git a/icons/obj/doors/overlays.dmi b/icons/obj/doors/overlays.dmi new file mode 100644 index 00000000000..7266c4f1254 Binary files /dev/null and b/icons/obj/doors/overlays.dmi differ diff --git a/icons/obj/doors/rapid_pdoor.dmi b/icons/obj/doors/rapid_pdoor.dmi index 06cf038c767..6df4742d4ec 100644 Binary files a/icons/obj/doors/rapid_pdoor.dmi and b/icons/obj/doors/rapid_pdoor.dmi differ diff --git a/icons/obj/doors/vault.dmi b/icons/obj/doors/vault.dmi index 589383b1a8d..b001f8c869b 100644 Binary files a/icons/obj/doors/vault.dmi and b/icons/obj/doors/vault.dmi differ