diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index cd30e04891b..c742fd317a3 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -4,17 +4,17 @@ "ad" = (/turf/indestructible/riveted,/area/space) "ae" = (/obj/structure/window/reinforced,/turf/indestructible/riveted,/area/space) "af" = (/obj/structure/window/reinforced{dir = 4},/turf/indestructible/riveted,/area/space) -"ag" = (/obj/structure/foamedmetal,/obj/structure/window/holo{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"ag" = (/obj/structure/foamedmetal,/obj/structure/window{icon_state = "rwindow"; dir = 4},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) "ah" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/indestructible/riveted,/area/space) -"ai" = (/obj/structure/foamedmetal,/obj/structure/window/holo/opaque{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"ai" = (/obj/structure/foamedmetal,/obj/structure/window/reinforced/tinted{icon_state = "rwindow"; dir = 4},/obj/structure/window{icon_state = "rwindow"; dir = 8},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) "aj" = (/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) -"ak" = (/obj/structure/table/holo,/obj/item/stack/medical/ointment{heal_burn = 10},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) -"al" = (/obj/structure/bed/chair/wood/normal{tag = "icon-wooden_chair (EAST)"; icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"ak" = (/obj/structure/table,/obj/item/stack/medical/ointment{heal_burn = 10},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"al" = (/obj/structure/bed/chair/wood/normal{icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "am" = (/obj/structure/window/reinforced{dir = 8},/turf/indestructible/riveted,/area/space) "an" = (/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) -"ao" = (/obj/structure/table/holo/poker,/obj/item/clothing/mask/cigarette/pipe,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) -"ap" = (/obj/structure/table/holo/poker,/obj/effect/holodeck_effect/cards,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) -"aq" = (/obj/structure/bed/chair/wood/normal{tag = "icon-wooden_chair (WEST)"; icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"ao" = (/obj/structure/table/wood/poker,/obj/item/clothing/mask/cigarette/pipe,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"ap" = (/obj/structure/table/wood/poker,/obj/effect/holodeck_effect/cards,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"aq" = (/obj/structure/bed/chair/wood/normal{icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "ar" = (/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/wildlife) "as" = (/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/offline) "at" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/rec_center/burn) @@ -23,50 +23,50 @@ "aw" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 1; height = 4; id = "pod3_transit"; turf_type = /turf/space/transit/horizontal; width = 3},/turf/space/transit/horizontal,/area/space) "ax" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/rec_center/court) "ay" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/rec_center/court) -"az" = (/obj/structure/foamedmetal,/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"az" = (/obj/structure/foamedmetal,/obj/structure/window{icon_state = "rwindow"; dir = 8},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) "aA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/indestructible/riveted,/area/space) -"aB" = (/obj/structure/table/holo,/obj/machinery/recharger,/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) -"aC" = (/obj/structure/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"aB" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"aC" = (/obj/structure/bed/chair/wood/normal{icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "aD" = (/obj/effect/holodeck_effect/mobspawner,/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/wildlife) "aE" = (/obj/effect/holodeck_effect/sparks,/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/rec_center/burn) "aF" = (/turf/simulated/floor/holofloor,/area/holodeck/rec_center/court) "aG" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/rec_center/court) "aH" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/rec_center/court) -"aI" = (/obj/structure/table/holo,/obj/item/weapon/gun/energy/laser,/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) -"aJ" = (/obj/structure/window/holo/opaque{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/holofloor{tag = "icon-wood (NORTHWEST)"; icon_state = "wood"; dir = 9},/area/holodeck/rec_center/lounge) -"aK" = (/obj/item/device/instrument/violin,/obj/structure/table/holo/wood,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"aI" = (/obj/structure/table,/obj/item/weapon/gun/energy/laser,/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"aJ" = (/obj/structure/window/reinforced/tinted{icon_state = "rwindow"; dir = 4},/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 9},/area/holodeck/rec_center/lounge) +"aK" = (/obj/item/device/instrument/violin,/obj/structure/table/wood,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "aL" = (/obj/structure/bed/chair/comfy/brown{buildstackamount = 0},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "aM" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/rec_center/court) "aN" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/rec_center/court) -"aO" = (/obj/structure/table/holo/wood,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"aO" = (/obj/structure/table/wood,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "aP" = (/obj/structure/bed/chair/comfy/brown{buildstackamount = 0; dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "aQ" = (/obj/structure/bed/chair/wood/normal,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) -"aR" = (/obj/structure/table/holo,/obj/item/stack/medical/bruise_pack{heal_brute = 10},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) -"aS" = (/obj/structure/table/holo/poker,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) +"aR" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack{heal_brute = 10},/turf/simulated/floor/holofloor/plating,/area/holodeck/rec_center/bunker) +"aS" = (/obj/structure/table/wood/poker,/turf/simulated/floor/holofloor/carpet,/area/holodeck/rec_center/lounge) "aT" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/rec_center/court) "aU" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/rec_center/court) "aV" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/rec_center/court) "aW" = (/turf/simulated/floor/holofloor/grass,/area/holodeck/rec_center/pet_lounge) "aX" = (/obj/effect/holodeck_effect/mobspawner/pet,/turf/simulated/floor/holofloor/grass,/area/holodeck/rec_center/pet_lounge) "aY" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 1; height = 4; id = "pod4_transit"; turf_type = /turf/space/transit/horizontal; width = 3},/turf/space/transit/horizontal,/area/space) -"aZ" = (/obj/structure/table/holo/glass,/obj/item/weapon/hemostat,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/holodeck/rec_center/medical) -"ba" = (/obj/structure/table/holo/glass,/obj/item/weapon/surgicaldrill,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHWEST)"; icon_state = "warnwhite"; dir = 9},/area/holodeck/rec_center/medical) -"bb" = (/obj/structure/table/holo/glass,/obj/item/weapon/retractor,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/holodeck/rec_center/medical) -"bc" = (/obj/structure/table/holo/glass,/obj/item/weapon/scalpel{pixel_y = 10},/obj/item/weapon/circular_saw,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/holodeck/rec_center/medical) -"bd" = (/obj/structure/table/holo/glass,/obj/item/weapon/cautery,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) +"aZ" = (/obj/structure/table/glass,/obj/item/weapon/hemostat,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 1},/area/holodeck/rec_center/medical) +"ba" = (/obj/structure/table/glass,/obj/item/weapon/surgicaldrill,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 9},/area/holodeck/rec_center/medical) +"bb" = (/obj/structure/table/glass,/obj/item/weapon/retractor,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 1},/area/holodeck/rec_center/medical) +"bc" = (/obj/structure/table/glass,/obj/item/weapon/scalpel{pixel_y = 10},/obj/item/weapon/circular_saw,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 1},/area/holodeck/rec_center/medical) +"bd" = (/obj/structure/table/glass,/obj/item/weapon/cautery,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) "be" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/rec_center/basketball) "bf" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/rec_center/basketball) "bg" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/rec_center/basketball) "bh" = (/turf/simulated/floor/holofloor/beach,/area/holodeck/rec_center/beach) -"bi" = (/obj/structure/table/holo,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/rec_center/thunderdome) -"bj" = (/obj/structure/table/holo,/obj/machinery/readybutton,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/rec_center/thunderdome) -"bk" = (/obj/structure/table/holo,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/rec_center/thunderdome) +"bi" = (/obj/structure/table,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/rec_center/thunderdome) +"bj" = (/obj/structure/table,/obj/machinery/readybutton,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/rec_center/thunderdome) +"bk" = (/obj/structure/table,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/rec_center/thunderdome) "bl" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/rec_center/dodgeball) "bm" = (/obj/machinery/readybutton,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/rec_center/dodgeball) "bn" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/rec_center/dodgeball) -"bo" = (/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) -"bp" = (/obj/structure/table/holo/glass,/obj/item/weapon/surgical_drapes,/obj/item/weapon/razor,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (WEST)"; icon_state = "warnwhite"; dir = 8},/area/holodeck/rec_center/medical) -"bq" = (/turf/simulated/floor/holofloor{tag = "icon-warnwhite (EAST)"; icon_state = "warnwhite"; dir = 4},/area/holodeck/rec_center/medical) +"bo" = (/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) +"bp" = (/obj/structure/table/glass,/obj/item/weapon/surgical_drapes,/obj/item/weapon/razor,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 8},/area/holodeck/rec_center/medical) +"bq" = (/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 4},/area/holodeck/rec_center/medical) "br" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/rec_center/basketball) "bs" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/rec_center/basketball) "bt" = (/obj/docking_port/stationary/transit{dir = 4; dwidth = 9; height = 11; id = "emergency_transit"; width = 22},/turf/space/transit,/area/space) @@ -79,17 +79,17 @@ "bA" = (/turf/simulated/floor/holofloor,/area/holodeck/rec_center/dodgeball) "bB" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/rec_center/dodgeball) "bC" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/rec_center/dodgeball) -"bD" = (/turf/simulated/floor/holofloor{tag = "icon-warnwhite"; icon_state = "warnwhite"},/area/holodeck/rec_center/medical) -"bE" = (/turf/simulated/floor/holofloor{tag = "icon-warnwhite (SOUTHWEST)"; icon_state = "warnwhite"; dir = 10},/area/holodeck/rec_center/medical) -"bF" = (/obj/machinery/computer/operating,/turf/simulated/floor/holofloor{tag = "icon-warnwhite"; icon_state = "warnwhite"},/area/holodeck/rec_center/medical) -"bG" = (/obj/structure/table/optable,/turf/simulated/floor/holofloor{tag = "icon-warnwhite"; icon_state = "warnwhite"},/area/holodeck/rec_center/medical) -"bH" = (/obj/structure/table/holo/glass,/obj/item/clothing/gloves/color/latex/nitrile,/obj/item/clothing/suit/apron/surgical,/obj/item/clothing/mask/surgical,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (SOUTHEAST)"; icon_state = "warnwhite"; dir = 6},/area/holodeck/rec_center/medical) +"bD" = (/turf/simulated/floor/holofloor{icon_state = "warnwhite"},/area/holodeck/rec_center/medical) +"bE" = (/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 10},/area/holodeck/rec_center/medical) +"bF" = (/obj/machinery/computer/operating,/turf/simulated/floor/holofloor{icon_state = "warnwhite"},/area/holodeck/rec_center/medical) +"bG" = (/obj/structure/table/optable,/turf/simulated/floor/holofloor{icon_state = "warnwhite"},/area/holodeck/rec_center/medical) +"bH" = (/obj/structure/table/glass,/obj/item/clothing/gloves/color/latex/nitrile,/obj/item/clothing/suit/apron/surgical,/obj/item/clothing/mask/surgical,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 6},/area/holodeck/rec_center/medical) "bI" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/rec_center/basketball) "bJ" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/rec_center/dodgeball) -"bK" = (/obj/structure/window/holo{dir = 1},/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) -"bL" = (/turf/simulated/floor/holofloor{tag = "icon-warnwhite (WEST)"; icon_state = "warnwhite"; dir = 8},/area/holodeck/rec_center/medical) -"bM" = (/obj/structure/table/holo/glass,/obj/machinery/reagentgrinder,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHWEST)"; icon_state = "warnwhite"; dir = 9},/area/holodeck/rec_center/medical) -"bN" = (/obj/structure/table/holo/glass,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) +"bK" = (/obj/structure/window{dir = 1},/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) +"bL" = (/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 8},/area/holodeck/rec_center/medical) +"bM" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 9},/area/holodeck/rec_center/medical) +"bN" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) "bO" = (/obj/structure/window/reinforced{dir = 1},/turf/indestructible/riveted,/area/space) "bP" = (/turf/indestructible/riveted,/area/tdome/arena_source) "bQ" = (/turf/simulated/floor/plasteel,/area/tdome/arena_source) @@ -228,7 +228,7 @@ "et" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/carpet,/area/centcom/ferry) "eu" = (/turf/simulated/floor/carpet,/area/centcom/ferry) "ev" = (/obj/structure/table/wood,/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/centcom/ferry) -"ew" = (/obj/machinery/washing_machine,/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) +"ew" = (/obj/machinery/washing_machine,/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) "ex" = (/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/ferry) "ey" = (/obj/machinery/button/door{id = "adminshut"; name = "Administrative Shutter-Control"; pixel_y = 26},/turf/simulated/floor/carpet,/area/centcom/ferry) "ez" = (/obj/machinery/door/poddoor/shutters/preopen{id = "adminshut"; name = "Administrative Shutters"},/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/ferry) @@ -237,44 +237,44 @@ "eC" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/rec_center/basketball) "eD" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/rec_center/basketball) "eE" = (/obj/item/clothing/under/color/rainbow,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/holofloor/beach,/area/holodeck/rec_center/beach) -"eF" = (/obj/structure/window/holo,/turf/simulated/floor/holofloor,/area/holodeck/rec_center/thunderdome) +"eF" = (/obj/structure/window,/turf/simulated/floor/holofloor,/area/holodeck/rec_center/thunderdome) "eG" = (/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 9},/area/centcom/ferry) "eH" = (/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 6},/area/centcom/ferry) "eI" = (/obj/structure/showcase/fakesec,/turf/simulated/floor/carpet,/area/centcom/ferry) "eJ" = (/obj/machinery/door/poddoor/shutters/preopen{id = "adminshut"; name = "Administrative Shutters"},/turf/indestructible/fakeglass,/area/centcom/ferry) "eK" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/carpet,/area/centcom/ferry) "eL" = (/obj/structure/filingcabinet,/turf/simulated/floor/carpet,/area/centcom/ferry) -"eM" = (/obj/structure/window/holo,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/rec_center/thunderdome) -"eN" = (/obj/structure/window/holo,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/rec_center/thunderdome) -"eO" = (/obj/structure/window/holo{dir = 1},/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/rec_center/dodgeball) -"eP" = (/obj/structure/window/holo{dir = 1},/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/rec_center/dodgeball) +"eM" = (/obj/structure/window,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/rec_center/thunderdome) +"eN" = (/obj/structure/window,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/rec_center/thunderdome) +"eO" = (/obj/structure/window{dir = 1},/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/rec_center/dodgeball) +"eP" = (/obj/structure/window{dir = 1},/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/rec_center/dodgeball) "eQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry) "eR" = (/obj/machinery/computer/shuttle/ferry,/turf/simulated/floor/plasteel/darkwarning{dir = 8},/area/centcom/ferry) -"eS" = (/obj/structure/window/holo{dir = 1},/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/rec_center/dodgeball) -"eT" = (/obj/machinery/chem_master,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (SOUTHWEST)"; icon_state = "warnwhite"; dir = 10},/area/holodeck/rec_center/medical) -"eU" = (/obj/structure/table/holo/glass,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) +"eS" = (/obj/structure/window{dir = 1},/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/rec_center/dodgeball) +"eT" = (/obj/machinery/chem_master,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 10},/area/holodeck/rec_center/medical) +"eU" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) "eV" = (/turf/simulated/floor/plasteel/delivery,/area/centcom/ferry) "eW" = (/obj/machinery/door/airlock/external{name = "Ferry Airlock"; req_access_txt = "0"},/turf/simulated/floor/plasteel/delivery,/area/centcom/ferry) "eX" = (/turf/simulated/floor/plasteel/darkwarning{dir = 8},/area/centcom/ferry) "eY" = (/turf/simulated/floor/plasteel/darkgreen/corner{dir = 4},/area/centcom/ferry) "eZ" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/dresser,/turf/simulated/floor/wood,/area/centcom/ferry) "fa" = (/obj/machinery/vending/autodrobe,/turf/simulated/floor/wood,/area/centcom/ferry) -"fb" = (/obj/structure/closet/wardrobe/white,/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) +"fb" = (/obj/structure/closet/wardrobe/white,/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) "fc" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/rec_center/basketball) "fd" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/rec_center/basketball) "fe" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/rec_center/basketball) "ff" = (/obj/item/toy/beach_ball,/turf/simulated/floor/holofloor/beach,/area/holodeck/rec_center/beach) -"fg" = (/obj/structure/window/holo{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/rec_center/thunderdome) -"fh" = (/obj/structure/window/holo{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/rec_center/thunderdome) +"fg" = (/obj/structure/window{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/rec_center/thunderdome) +"fh" = (/obj/structure/window{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/rec_center/thunderdome) "fi" = (/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 5},/area/centcom/ferry) "fj" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/simulated/floor/wood,/area/centcom/ferry) "fk" = (/obj/machinery/vending/clothing,/turf/simulated/floor/wood,/area/centcom/ferry) "fl" = (/turf/indestructible/riveted,/area/centcom/evac) -"fm" = (/obj/structure/window/holo{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/rec_center/thunderdome) -"fn" = (/obj/structure/window/holo,/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/rec_center/dodgeball) -"fo" = (/obj/structure/window/holo,/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/rec_center/dodgeball) -"fp" = (/obj/structure/window/holo,/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/rec_center/dodgeball) -"fq" = (/obj/structure/window/holo,/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) +"fm" = (/obj/structure/window{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/rec_center/thunderdome) +"fn" = (/obj/structure/window,/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/rec_center/dodgeball) +"fo" = (/obj/structure/window,/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/rec_center/dodgeball) +"fp" = (/obj/structure/window,/obj/item/toy/beach_ball/holoball/dodgeball,/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/rec_center/dodgeball) +"fq" = (/obj/structure/window,/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) "fr" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/rec_center/basketball) "fs" = (/obj/item/toy/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/rec_center/basketball) "ft" = (/turf/indestructible/fakeglass{icon_state = "fakewindows"; dir = 10},/area/centcom/ferry) @@ -288,26 +288,26 @@ "fB" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/rec_center/thunderdome) "fC" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/rec_center/dodgeball) "fD" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/rec_center/dodgeball) -"fE" = (/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) +"fE" = (/obj/structure/window{icon_state = "rwindow"; dir = 8},/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) "fF" = (/turf/indestructible/fakeglass,/area/centcom/ferry) "fG" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/centcom/ferry) "fH" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/centcom/ferry) "fI" = (/turf/indestructible/fakedoor{name = "Centcom Security"},/area/centcom/evac) "fJ" = (/turf/simulated/floor/plasteel/black,/area/centcom/evac) -"fK" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHWEST)"; icon_state = "warnwhite"; dir = 9},/area/holodeck/rec_center/medical) -"fL" = (/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/structure/window/holo,/obj/machinery/computer/pandemic,/turf/simulated/floor/holofloor{icon_state = "white"; tag = "icon-bluespace"},/area/holodeck/rec_center/medical) +"fK" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 9},/area/holodeck/rec_center/medical) +"fL" = (/obj/structure/window{icon_state = "rwindow"; dir = 8},/obj/structure/window,/obj/machinery/computer/pandemic,/turf/simulated/floor/holofloor{icon_state = "white"},/area/holodeck/rec_center/medical) "fM" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/rec_center/basketball) "fN" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/rec_center/dodgeball) -"fO" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/holofloor{tag = "icon-warnwhitecorner (WEST)"; icon_state = "warnwhitecorner"; dir = 8},/area/holodeck/rec_center/medical) +"fO" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/holofloor{icon_state = "warnwhitecorner"; dir = 8},/area/holodeck/rec_center/medical) "fP" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plasteel/darkgreen/side{dir = 2},/area/centcom/ferry) "fQ" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/simulated/floor/plasteel/darkred/side{dir = 8},/area/centcom/evac) "fR" = (/obj/structure/showcase/fakesec,/turf/simulated/floor/plasteel/black,/area/centcom/evac) "fS" = (/obj/structure/bed/chair/office/dark,/turf/simulated/floor/plasteel/black,/area/centcom/evac) -"fT" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (SOUTHEAST)"; icon_state = "warnwhite"; dir = 6},/area/holodeck/rec_center/medical) -"fU" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) -"fV" = (/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/holofloor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) +"fT" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 6},/area/holodeck/rec_center/medical) +"fU" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) +"fV" = (/obj/structure/window{icon_state = "rwindow"; dir = 8},/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 5},/area/holodeck/rec_center/medical) "fW" = (/turf/simulated/floor/holofloor/beach/coast,/area/holodeck/rec_center/beach) -"fX" = (/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{tag = "icon-warnwhite"; icon_state = "warnwhite"},/area/holodeck/rec_center/medical) +"fX" = (/obj/structure/window{icon_state = "rwindow"; dir = 8},/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{icon_state = "warnwhite"},/area/holodeck/rec_center/medical) "fY" = (/turf/indestructible/riveted,/area/centcom/control) "fZ" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/grass,/area/centcom/control) "ga" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/centcom/control) @@ -317,9 +317,9 @@ "ge" = (/obj/machinery/door/window/northleft{dir = 2; name = "Centcom Security"; req_access_txt = "101"},/turf/simulated/floor/plasteel/black,/area/centcom/evac) "gf" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/floor/plasteel/darkred/side{dir = 2},/area/centcom/evac) "gg" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/floor/plasteel/darkred/side{dir = 2},/area/centcom/evac) -"gh" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{tag = "icon-warnwhite (SOUTHWEST)"; icon_state = "warnwhite"; dir = 10},/area/holodeck/rec_center/medical) -"gi" = (/obj/structure/window/holo{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/machinery/sleeper{tag = "icon-sleeper-open (NORTH)"; icon_state = "sleeper-open"; dir = 1},/turf/simulated/floor/holofloor{tag = "icon-warnwhite"; icon_state = "warnwhite"},/area/holodeck/rec_center/medical) -"gj" = (/obj/machinery/sleeper{tag = "icon-sleeper-open (NORTH)"; icon_state = "sleeper-open"; dir = 1},/turf/simulated/floor/holofloor{tag = "icon-warnwhite (SOUTHEAST)"; icon_state = "warnwhite"; dir = 6},/area/holodeck/rec_center/medical) +"gh" = (/obj/structure/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 10},/area/holodeck/rec_center/medical) +"gi" = (/obj/structure/window{icon_state = "rwindow"; dir = 8},/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 1},/turf/simulated/floor/holofloor{icon_state = "warnwhite"},/area/holodeck/rec_center/medical) +"gj" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 1},/turf/simulated/floor/holofloor{icon_state = "warnwhite"; dir = 6},/area/holodeck/rec_center/medical) "gk" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/rec_center/basketball) "gl" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "unknown"; width = 5},/turf/space,/area/space) "gm" = (/turf/indestructible/fakeglass,/area/centcom/control) @@ -349,9 +349,9 @@ "gK" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/rec_center/basketball) "gL" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/rec_center/basketball) "gM" = (/turf/simulated/floor/holofloor/beach/water,/area/holodeck/rec_center/beach) -"gN" = (/obj/structure/table/holo,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/rec_center/thunderdome) -"gO" = (/obj/structure/table/holo,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/rec_center/thunderdome) -"gP" = (/obj/structure/table/holo,/obj/machinery/readybutton,/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/rec_center/thunderdome) +"gN" = (/obj/structure/table,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/rec_center/thunderdome) +"gO" = (/obj/structure/table,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/rec_center/thunderdome) +"gP" = (/obj/structure/table,/obj/machinery/readybutton,/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/rec_center/thunderdome) "gQ" = (/turf/simulated/floor/grass,/area/centcom/control) "gR" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/plasteel/green/side{dir = 8},/area/centcom/control) "gS" = (/obj/machinery/door/airlock/centcom{name = "Centcom Customs"; opacity = 1; req_access_txt = "109"},/turf/simulated/floor/plasteel/black,/area/centcom/control) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 814a4fd966b..e8d68aad8c0 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -15,6 +15,7 @@ #define NOSHIELD 32 // weapon not affected by shield #define CONDUCT 64 // conducts electricity (metal etc.) #define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way +#define NODECONSTRUCT 128 // For machines and structures that should not break into parts, eg, holodeck stuff #define FPRINT 256 // takes a fingerprint #define ON_BORDER 512 // item has priority to check when entering or leaving diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 0ff76ba9274..b90cd0d3cdf 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -91,7 +91,7 @@ return /obj/machinery/computer/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/weapon/screwdriver) && circuit) + if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT)) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) user << " You start to disconnect the monitor..." if(do_after(user, 20/I.toolspeed, target = src)) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index e88df47b45d..1c1da8d33a8 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -26,7 +26,11 @@ electronics = null return ..() - +/obj/machinery/door/window/update_icon() + if(density) + icon_state = base_state + else + icon_state = "[src.base_state]open" /obj/machinery/door/window/proc/open_and_close() open() @@ -147,14 +151,15 @@ /obj/machinery/door/window/proc/take_damage(damage) src.health = max(0, src.health - damage) if (src.health <= 0) - var/debris = list( - new /obj/item/weapon/shard(src.loc), - new /obj/item/weapon/shard(src.loc), - new /obj/item/stack/rods(src.loc, 2), - new /obj/item/stack/cable_coil(src.loc, 2) - ) - for(var/obj/fragment in debris) - transfer_fingerprints_to(fragment) + if(!(flags&NODECONSTRUCT)) + var/debris = list( + new /obj/item/weapon/shard(src.loc), + new /obj/item/weapon/shard(src.loc), + new /obj/item/stack/rods(src.loc, 2), + new /obj/item/stack/cable_coil(src.loc, 2) + ) + for(var/obj/fragment in debris) + transfer_fingerprints_to(fragment) src.density = 0 qdel(src) return @@ -265,63 +270,64 @@ add_fingerprint(user) - if(istype(I, /obj/item/weapon/screwdriver)) - if(src.density || src.operating) - user << "You need to open the door to access the maintenance panel!" + if(!(flags&NODECONSTRUCT)) + if(istype(I, /obj/item/weapon/screwdriver)) + if(src.density || src.operating) + user << "You need to open the door to access the maintenance panel!" + return + playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + src.p_open = !( src.p_open ) + user << "You [p_open ? "open":"close"] the maintenance panel of the [src.name]." return - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - src.p_open = !( src.p_open ) - user << "You [p_open ? "open":"close"] the maintenance panel of the [src.name]." - return - if(istype(I, /obj/item/weapon/crowbar)) - if(p_open && !src.density && !src.operating) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - user.visible_message("[user] removes the electronics from the [src.name].", \ - "You start to remove electronics from the [src.name]...") - if(do_after(user,40/I.toolspeed, target = src)) - if(src.p_open && !src.density && !src.operating && src.loc) - var/obj/structure/windoor_assembly/WA = new /obj/structure/windoor_assembly(src.loc) - switch(base_state) - if("left") - WA.facing = "l" - if("right") - WA.facing = "r" - if("leftsecure") - WA.facing = "l" - WA.secure = 1 - if("rightsecure") - WA.facing = "r" - WA.secure = 1 - WA.anchored = 1 - WA.state= "02" - WA.dir = src.dir - WA.ini_dir = src.dir - WA.update_icon() - WA.created_name = src.name + if(istype(I, /obj/item/weapon/crowbar)) + if(p_open && !src.density && !src.operating) + playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + user.visible_message("[user] removes the electronics from the [src.name].", \ + "You start to remove electronics from the [src.name]...") + if(do_after(user,40/I.toolspeed, target = src)) + if(src.p_open && !src.density && !src.operating && src.loc) + var/obj/structure/windoor_assembly/WA = new /obj/structure/windoor_assembly(src.loc) + switch(base_state) + if("left") + WA.facing = "l" + if("right") + WA.facing = "r" + if("leftsecure") + WA.facing = "l" + WA.secure = 1 + if("rightsecure") + WA.facing = "r" + WA.secure = 1 + WA.anchored = 1 + WA.state= "02" + WA.dir = src.dir + WA.ini_dir = src.dir + WA.update_icon() + WA.created_name = src.name - if(emagged) - user << "You discard the damaged electronics." - qdel(src) - return + if(emagged) + user << "You discard the damaged electronics." + qdel(src) + return - user << "You remove the airlock electronics." + user << "You remove the airlock electronics." - var/obj/item/weapon/electronics/airlock/ae - if(!electronics) - ae = new/obj/item/weapon/electronics/airlock( src.loc ) - if(req_one_access) - ae.one_access = 1 - ae.accesses = src.req_one_access + var/obj/item/weapon/electronics/airlock/ae + if(!electronics) + ae = new/obj/item/weapon/electronics/airlock( src.loc ) + if(req_one_access) + ae.one_access = 1 + ae.accesses = src.req_one_access + else + ae.accesses = src.req_access else - ae.accesses = src.req_access - else - ae = electronics - electronics = null - ae.loc = src.loc + ae = electronics + electronics = null + ae.loc = src.loc - qdel(src) - return + qdel(src) + return //If windoor is unpowered, crowbar, fireaxe and armblade can force it. diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 56d0ebeb3d9..65592005bac 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -278,7 +278,7 @@ Class Procs: gl_uid++ /obj/machinery/proc/default_pry_open(obj/item/weapon/crowbar/C) - . = !(state_open || panel_open || is_operational()) && istype(C) + . = !(state_open || panel_open || is_operational() || (flags & NODECONSTRUCT)) && istype(C) if(.) playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) visible_message("[usr] pry open \the [src].", "You pry open \the [src].") @@ -286,7 +286,7 @@ Class Procs: return 1 /obj/machinery/proc/default_deconstruction_crowbar(obj/item/weapon/crowbar/C, ignore_panel = 0) - . = istype(C) && (panel_open || ignore_panel) + . = istype(C) && (panel_open || ignore_panel) && !(flags & NODECONSTRUCT) if(.) deconstruction() playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) @@ -301,7 +301,7 @@ Class Procs: qdel(src) /obj/machinery/proc/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/weapon/screwdriver/S) - if(istype(S)) + if(istype(S) && !(flags & NODECONSTRUCT)) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) if(!panel_open) panel_open = 1 @@ -323,7 +323,7 @@ Class Procs: return 0 /obj/proc/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20) - if(istype(W)) + if(istype(W) && !(flags & NODECONSTRUCT)) user << "You begin [anchored ? "un" : ""]securing [name]..." playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) if(do_after(user, time/W.toolspeed, target = src)) @@ -334,6 +334,8 @@ Class Procs: return 0 /obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W) + if(flags & NODECONSTRUCT) + return var/shouldplaysound = 0 if(istype(W) && component_parts) if(panel_open || W.works_from_distance) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 66cb8cf9d13..b685d8da477 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -177,17 +177,15 @@ /obj/item/weapon/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) if(!proximity) return - if(A && wielded && (istype(A,/obj/structure/window) || istype(A,/obj/structure/grille))) //destroys windows and grilles in one hit - if(istype(A,/obj/structure/window)) //should just make a window.Break() proc but couldn't bother with it + if(wielded) //destroys windows and grilles in one hit + if(istype(A,/obj/structure/window)) var/obj/structure/window/W = A - - new /obj/item/weapon/shard( W.loc ) - if(W.reinf) new /obj/item/stack/rods( W.loc) - - if (W.dir == SOUTHWEST) - new /obj/item/weapon/shard( W.loc ) - if(W.reinf) new /obj/item/stack/rods( W.loc) - qdel(A) + W.spawnfragments() // this will qdel and spawn shards + else if(istype(A,/obj/structure/grille)) + var/obj/structure/grille/G = A + G.health = -6 + G.destroyed += prob(25) // If this is set, healthcheck will completely remove the grille + G.healthcheck() /* diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index df7d7673d92..b0531d147fa 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -58,7 +58,7 @@ qdel(src) /obj/structure/bed/attackby(obj/item/weapon/W, mob/user, params) - if(istype(W, /obj/item/weapon/wrench)) + if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) if(buildstacktype) new buildstacktype(loc, buildstackamount) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index cdf69fe37b9..1ab5437d9db 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -165,7 +165,8 @@ /obj/structure/closet/ex_act(severity, target) contents_explosion(severity, target) - new material_drop(loc) + if(loc && ispath(material_drop) && !(flags & NODECONSTRUCT)) + new material_drop(loc) dump_contents() qdel(src) ..() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 8a02e0ad474..293f881747f 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -121,9 +121,10 @@ /obj/structure/grille/Deconstruct() if(!loc) //if already qdel'd somehow, we do nothing return - transfer_fingerprints_to(stored) - var/turf/T = loc - stored.loc = T + if(!(flags&NODECONSTRUCT)) + transfer_fingerprints_to(stored) + var/turf/T = loc + stored.loc = T ..() /obj/structure/grille/proc/Break() @@ -131,8 +132,9 @@ density = 0 destroyed = 1 stored.amount = 1 - var/obj/item/stack/rods/newrods = new(loc) - transfer_fingerprints_to(newrods) + if(!(flags&NODECONSTRUCT)) + var/obj/item/stack/rods/newrods = new(loc) + transfer_fingerprints_to(newrods) /obj/structure/grille/attackby(obj/item/weapon/W, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index f114c0842c6..00e68d88d95 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -147,26 +147,26 @@ if (istype(I, /obj/item/weapon/grab)) tablepush(I, user) return - - if (istype(I, /obj/item/weapon/screwdriver)) - if(istype(src, /obj/structure/table/reinforced)) - var/obj/structure/table/reinforced/RT = src - if(RT.status == 1) + if(!(flags&NODECONSTRUCT)) + if (istype(I, /obj/item/weapon/screwdriver)) + if(istype(src, /obj/structure/table/reinforced)) + var/obj/structure/table/reinforced/RT = src + if(RT.status == 1) + table_destroy(2, user) + return + else table_destroy(2, user) return - else - table_destroy(2, user) - return - if (istype(I, /obj/item/weapon/wrench)) - if(istype(src, /obj/structure/table/reinforced)) - var/obj/structure/table/reinforced/RT = src - if(RT.status == 1) + if (istype(I, /obj/item/weapon/wrench)) + if(istype(src, /obj/structure/table/reinforced)) + var/obj/structure/table/reinforced/RT = src + if(RT.status == 1) + table_destroy(3, user) + return + else table_destroy(3, user) return - else - table_destroy(3, user) - return if (istype(I, /obj/item/weapon/storage/bag/tray)) var/obj/item/weapon/storage/bag/tray/T = I @@ -205,7 +205,7 @@ #define TBL_DECONSTRUCT 3 /obj/structure/table/proc/table_destroy(destroy_type, mob/user) - if(!deconstructable) + if(!deconstructable || (flags&NODECONSTRUCT)) return if(destroy_type == TBL_DESTROY) @@ -462,7 +462,7 @@ return /obj/structure/rack/attackby(obj/item/weapon/W, mob/user, params) - if (istype(W, /obj/item/weapon/wrench)) + if (istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) rack_destroy() return @@ -517,9 +517,10 @@ */ /obj/structure/rack/proc/rack_destroy() - density = 0 - var/obj/item/weapon/rack_parts/newparts = new(loc) - transfer_fingerprints_to(newparts) + if(!(flags&NODECONSTRUCT)) + density = 0 + var/obj/item/weapon/rack_parts/newparts = new(loc) + transfer_fingerprints_to(newparts) qdel(src) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 9431ee3dc3d..c8180e6fa76 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -30,17 +30,21 @@ health = maxhealth if(re) reinf = re - storeditems.Add(new/obj/item/weapon/shard(src)) - if(fulltile) - storeditems.Add(new/obj/item/weapon/shard(src)) - ini_dir = dir if(reinf) state = 2*anchored - var/obj/item/stack/rods/R = new/obj/item/stack/rods(src) - storeditems.Add(R) - if(fulltile) - R.add(1) + spawn(5) // The NODECONSTRUCT flag gets added immediately by the holodeck (but not immediately enough) + if(!(flags & NODECONSTRUCT)) + storeditems.Add(new/obj/item/weapon/shard(src)) + if(fulltile) + storeditems.Add(new/obj/item/weapon/shard(src)) + if(reinf) + var/obj/item/stack/rods/R = new/obj/item/stack/rods(src) + storeditems.Add(R) + if(fulltile) + R.add(1) + + ini_dir = dir air_update_turf(1) return @@ -191,38 +195,7 @@ return 1 //skip the afterattack add_fingerprint(user) - if(istype(I, /obj/item/weapon/screwdriver)) - playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1) - if(reinf && (state == 2 || state == 1)) - user << (state == 2 ? "You begin to unscrew the window from the frame..." : "You begin to screw the window to the frame...") - else if(reinf && state == 0) - user << (anchored ? "You begin to unscrew the frame from the floor..." : "You begin to screw the frame to the floor...") - else if(!reinf) - user << (anchored ? "You begin to unscrew the window from the floor..." : "You begin to screw the window to the floor...") - - if(do_after(user, 40/I.toolspeed, target = src)) - if(reinf && (state == 1 || state == 2)) - //If state was unfastened, fasten it, else do the reverse - state = (state == 1 ? 2 : 1) - user << (state == 1 ? "You unfasten the window from the frame." : "You fasten the window to the frame.") - else if(reinf && state == 0) - anchored = !anchored - update_nearby_icons() - user << (anchored ? "You fasten the frame to the floor." : "You unfasten the frame from the floor.") - else if(!reinf) - anchored = !anchored - update_nearby_icons() - user << (anchored ? "You fasten the window to the floor." : "You unfasten the window.") - - else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == 0 || state == 1)) - user << (state == 0 ? "You begin to lever the window into the frame..." : "You begin to lever the window out of the frame...") - playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) - if(do_after(user, 40/I.toolspeed, target = src)) - //If state was out of frame, put into frame, else do the reverse - state = (state == 0 ? 1 : 0) - user << (state == 1 ? "You pry the window into the frame." : "You pry the window out of the frame.") - - else if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent == "help") + if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent == "help") var/obj/item/weapon/weldingtool/WT = I if(health < maxhealth) if(WT.remove_fuel(0,user)) @@ -235,32 +208,63 @@ user << "[src] is already in good condition!" return update_nearby_icons() + else if(!(flags&NODECONSTRUCT)) + if(istype(I, /obj/item/weapon/screwdriver)) + playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1) + if(reinf && (state == 2 || state == 1)) + user << (state == 2 ? "You begin to unscrew the window from the frame..." : "You begin to screw the window to the frame...") + else if(reinf && state == 0) + user << (anchored ? "You begin to unscrew the frame from the floor..." : "You begin to screw the frame to the floor...") + else if(!reinf) + user << (anchored ? "You begin to unscrew the window from the floor..." : "You begin to screw the window to the floor...") - else if(istype(I, /obj/item/weapon/wrench) && !anchored) - playsound(loc, 'sound/items/Ratchet.ogg', 75, 1) - user << " You begin to disassemble [src]..." - if(do_after(user, 40/I.toolspeed, target = src)) - if(disassembled) - return //Prevents multiple deconstruction attempts + if(do_after(user, 40/I.toolspeed, target = src)) + if(reinf && (state == 1 || state == 2)) + //If state was unfastened, fasten it, else do the reverse + state = (state == 1 ? 2 : 1) + user << (state == 1 ? "You unfasten the window from the frame." : "You fasten the window to the frame.") + else if(reinf && state == 0) + anchored = !anchored + update_nearby_icons() + user << (anchored ? "You fasten the frame to the floor." : "You unfasten the frame from the floor.") + else if(!reinf) + anchored = !anchored + update_nearby_icons() + user << (anchored ? "You fasten the window to the floor." : "You unfasten the window.") - if(reinf) - var/obj/item/stack/sheet/rglass/RG = new (user.loc) - RG.add_fingerprint(user) - if(fulltile) //fulltiles drop two panes - RG = new (user.loc) + else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == 0 || state == 1)) + user << (state == 0 ? "You begin to lever the window into the frame..." : "You begin to lever the window out of the frame...") + playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) + if(do_after(user, 40/I.toolspeed, target = src)) + //If state was out of frame, put into frame, else do the reverse + state = (state == 0 ? 1 : 0) + user << (state == 1 ? "You pry the window into the frame." : "You pry the window out of the frame.") + + else if(istype(I, /obj/item/weapon/wrench) && !anchored) + playsound(loc, 'sound/items/Ratchet.ogg', 75, 1) + user << " You begin to disassemble [src]..." + if(do_after(user, 40/I.toolspeed, target = src)) + if(disassembled) + return //Prevents multiple deconstruction attempts + + if(reinf) + var/obj/item/stack/sheet/rglass/RG = new (user.loc) RG.add_fingerprint(user) + if(fulltile) //fulltiles drop two panes + RG = new (user.loc) + RG.add_fingerprint(user) - else - var/obj/item/stack/sheet/glass/G = new (user.loc) - G.add_fingerprint(user) - if(fulltile) - G = new (user.loc) + else + var/obj/item/stack/sheet/glass/G = new (user.loc) G.add_fingerprint(user) + if(fulltile) + G = new (user.loc) + G.add_fingerprint(user) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - disassembled = 1 - user << "You successfully disassemble [src]." - qdel(src) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + disassembled = 1 + user << "You successfully disassemble [src]." + qdel(src) else if(istype(I, /obj/item/weapon/rcd)) //Do not attack the window if the user is holding an RCD return @@ -374,7 +378,7 @@ /obj/structure/window/Destroy() density = 0 air_update_turf(1) - if(!disassembled) + if(!disassembled && !(flags&NODECONSTRUCT)) playsound(src, "shatter", 70, 1) update_nearby_icons() return ..() diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index ae6236381f6..fe8621fdca4 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -91,11 +91,12 @@ for(var/obj/O in T) var/obj/O2 = DuplicateObject(O , 1, newloc = X, nerf=nerf_weapons) if(!O2) continue - copiedobjs += O2.contents + O2 + copiedobjs += O2.GetAllContents() + O2 for(var/mob/M in T) if(istype(M, /mob/camera)) continue // If we need to check for more mobs, I'll add a variable - copiedobjs += DuplicateObject(M , 1, newloc = X) + var/mob/SM = DuplicateObject(M , 1, newloc = X) + copiedobjs += SM.GetAllContents() + SM var/global/list/forbidden_vars = list("type","stat","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","contents", "luminosity") for(var/V in T.vars - forbidden_vars) diff --git a/code/modules/holodeck/computer_funcs.dm b/code/modules/holodeck/computer_funcs.dm index 0913af05f55..33edb15d605 100644 --- a/code/modules/holodeck/computer_funcs.dm +++ b/code/modules/holodeck/computer_funcs.dm @@ -70,15 +70,25 @@ // should also remove/limit/filter reagents? // this is an exercise left to others I'm afraid. -Sayu spawned = A.copy_contents_to(linked, 1, nerf_weapons = !emagged) + for(var/obj/machinery/M in spawned) + M.flags |= NODECONSTRUCT + for(var/obj/structure/S in spawned) + S.flags |= NODECONSTRUCT effects = list() spawn(30) + var/list/added = list() for(var/obj/effect/holodeck_effect/HE in spawned) effects += HE spawned -= HE var/atom/x = HE.activate(src) if(istype(x) || islist(x)) spawned += x // holocarp are not forever + added += x + for(var/obj/machinery/M in added) + M.flags |= NODECONSTRUCT + for(var/obj/structure/S in added) + S.flags |= NODECONSTRUCT /obj/machinery/computer/holodeck/proc/derez(var/obj/obj, var/silent = 1, var/forced = 0) // Emagging a machine creates an anomaly in the derez systems. diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index 755fcfcca20..a2839eeb6ec 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -213,8 +213,9 @@ eventstarted = 1 - for(var/obj/structure/window/holo/W in currentarea) - qdel(W) + for(var/obj/structure/window/W in currentarea) + if(W.flags&NODECONSTRUCT) // Just in case: only holo-windows + qdel(W) for(var/mob/M in currentarea) M << "FIGHT!" diff --git a/code/modules/holodeck/tables.dm b/code/modules/holodeck/tables.dm deleted file mode 100644 index b91731b33e8..00000000000 --- a/code/modules/holodeck/tables.dm +++ /dev/null @@ -1,68 +0,0 @@ -/obj/structure/table/holo - name = "table" - frame = null - buildstackamount = 0 - framestackamount = 0 - canSmoothWith = null - -/obj/structure/table/holo/glass - name = "glass table" - icon = 'icons/obj/smooth_structures/glass_table.dmi' - icon_state = "glass_table" - -/obj/structure/table/holo/wood - name = "wood table" - icon = 'icons/obj/smooth_structures/wood_table.dmi' - icon_state = "wood_table" - canSmoothWith = list(/obj/structure/table/holo/wood, /obj/structure/table/holo/poker) - -/obj/structure/table/holo/poker - name = "poker table" - icon = 'icons/obj/smooth_structures/poker_table.dmi' - icon_state = "poker_table" - canSmoothWith = list(/obj/structure/table/holo/wood, /obj/structure/table/holo/poker) - -/obj/structure/table/holo/attack_paw(mob/user as mob) - return - -/obj/structure/table/holo/attack_alien(mob/user as mob) - return - -/obj/structure/table/holo/attack_animal(mob/living/simple_animal/user as mob) - return - -/obj/structure/table/holo/attack_hand(mob/user as mob) - return -/obj/structure/table/holo/attack_hulk() - return - -/obj/structure/table/holo/attackby(obj/item/I, mob/user, params) - if (istype(I, /obj/item/weapon/grab)) - tablepush(I, user) - return - if (istype(I, /obj/item/weapon/storage/bag/tray)) - var/obj/item/weapon/storage/bag/tray/T = I - if(T.contents.len > 0) // If the tray isn't empty - var/list/obj/item/oldContents = T.contents.Copy() - T.quick_empty() - - for(var/obj/item/C in oldContents) - C.loc = src.loc - - user.visible_message("[user] empties [I] on [src].") - return - // If the tray IS empty, continue on (tray will be placed on the table like other items) - - if(isrobot(user)) - return - - if(!(I.flags & ABSTRACT)) //rip more parems rip in peace ;_; - if(user.drop_item()) - I.Move(loc) - var/list/click_params = params2list(params) - //Center the icon where the user clicked. - if(!click_params || !click_params["icon-x"] || !click_params["icon-y"]) - return - //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - I.pixel_x = Clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) - I.pixel_y = Clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm index b19c5bb019e..11d22461ae9 100644 --- a/code/modules/holodeck/turfs.dm +++ b/code/modules/holodeck/turfs.dm @@ -1,8 +1,8 @@ /turf/simulated/floor/holofloor icon_state = "floor" thermal_conductivity = 0 - broken_states = list() - burnt_states = list() + broken_states = list("engine") + burnt_states = list("engine") /turf/simulated/floor/holofloor/attackby(obj/item/weapon/W as obj, mob/user as mob) return // HOLOFLOOR DOES NOT GIVE A FUCK diff --git a/code/modules/holodeck/windows.dm b/code/modules/holodeck/windows.dm deleted file mode 100644 index 41d3de65da7..00000000000 --- a/code/modules/holodeck/windows.dm +++ /dev/null @@ -1,44 +0,0 @@ -/obj/structure/window/holo - name = "reinforced window" - icon = 'icons/obj/structures.dmi' - icon_state = "rwindow" - desc = "A window. It has an electric hum to it." - density = 1 - layer = 3.2//Just above doors - pressure_resistance = 4*ONE_ATMOSPHERE - anchored = 1.0 - flags = ON_BORDER - maxhealth = 100 - disassembled = 1 // prevents noise on destruction - -/obj/structure/window/holo/New() - ..() - for(var/O in contents) - qdel(O) // standard window code generates stuff no matter what we want - -/obj/structure/window/holo/spawnfragments() - qdel(src) - return - -/obj/structure/window/holo/attackby(var/obj/item/I, var/mob/user) - if(istype(I,/obj/item/weapon/screwdriver)) - user << "You see no screws to unfasten!" - return - return ..() - -/obj/structure/window/holo/hit(var/damage, var/sound_effect = 1) - . = ..() - spawn(50) // self-healing - health += damage - -/obj/structure/window/holo/opaque - name = "tinted window" - opacity = 1 - -/obj/structure/window/holo/fulltile - dir = 5 - maxhealth = 250 - -/obj/structure/window/holo/opaque/fulltile - dir = 5 - maxhealth = 250 \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index ce238c87677..1e8065680fe 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1087,9 +1087,7 @@ #include "code\modules\holodeck\computer_funcs.dm" #include "code\modules\holodeck\holo_effect.dm" #include "code\modules\holodeck\items.dm" -#include "code\modules\holodeck\tables.dm" #include "code\modules\holodeck\turfs.dm" -#include "code\modules\holodeck\windows.dm" #include "code\modules\html_interface\html_interface.dm" #include "code\modules\html_interface\html_interface_client.dm" #include "code\modules\html_interface\cards\cards.dm"