mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 06:29:23 +01:00
Merge pull request #13253 from SuperSayu/abstract_holodeck
Holodeck Fixes
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 << "<span class='notice'> You start to disconnect the monitor...</span>"
|
||||
if(do_after(user, 20/I.toolspeed, target = src))
|
||||
|
||||
@@ -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 << "<span class='warning'>You need to open the door to access the maintenance panel!</span>"
|
||||
if(!(flags&NODECONSTRUCT))
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(src.density || src.operating)
|
||||
user << "<span class='warning'>You need to open the door to access the maintenance panel!</span>"
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
src.p_open = !( src.p_open )
|
||||
user << "<span class='notice'>You [p_open ? "open":"close"] the maintenance panel of the [src.name].</span>"
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
src.p_open = !( src.p_open )
|
||||
user << "<span class='notice'>You [p_open ? "open":"close"] the maintenance panel of the [src.name].</span>"
|
||||
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].", \
|
||||
"<span class='notice'>You start to remove electronics from the [src.name]...</span>")
|
||||
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].", \
|
||||
"<span class='notice'>You start to remove electronics from the [src.name]...</span>")
|
||||
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 << "<span class='warning'>You discard the damaged electronics.</span>"
|
||||
qdel(src)
|
||||
return
|
||||
if(emagged)
|
||||
user << "<span class='warning'>You discard the damaged electronics.</span>"
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
user << "<span class='notice'>You remove the airlock electronics.</span>"
|
||||
user << "<span class='notice'>You remove the airlock electronics.</span>"
|
||||
|
||||
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.
|
||||
|
||||
@@ -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("<span class='notice'>[usr] pry open \the [src].</span>", "<span class='notice'>You pry open \the [src].</span>")
|
||||
@@ -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 << "<span class='notice'>You begin [anchored ? "un" : ""]securing [name]...</span>"
|
||||
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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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 ? "<span class='notice'>You begin to unscrew the window from the frame...</span>" : "<span class='notice'>You begin to screw the window to the frame...</span>")
|
||||
else if(reinf && state == 0)
|
||||
user << (anchored ? "<span class='notice'>You begin to unscrew the frame from the floor...</span>" : "<span class='notice'>You begin to screw the frame to the floor...</span>")
|
||||
else if(!reinf)
|
||||
user << (anchored ? "<span class='notice'>You begin to unscrew the window from the floor...</span>" : "<span class='notice'>You begin to screw the window to the floor...</span>")
|
||||
|
||||
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 ? "<span class='notice'>You unfasten the window from the frame.</span>" : "<span class='notice'>You fasten the window to the frame.</span>")
|
||||
else if(reinf && state == 0)
|
||||
anchored = !anchored
|
||||
update_nearby_icons()
|
||||
user << (anchored ? "<span class='notice'>You fasten the frame to the floor.</span>" : "<span class='notice'>You unfasten the frame from the floor.</span>")
|
||||
else if(!reinf)
|
||||
anchored = !anchored
|
||||
update_nearby_icons()
|
||||
user << (anchored ? "<span class='notice'>You fasten the window to the floor.</span>" : "<span class='notice'>You unfasten the window.</span>")
|
||||
|
||||
else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == 0 || state == 1))
|
||||
user << (state == 0 ? "<span class='notice'>You begin to lever the window into the frame...</span>" : "<span class='notice'>You begin to lever the window out of the frame...</span>")
|
||||
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 ? "<span class='notice'>You pry the window into the frame.</span>" : "<span class='notice'>You pry the window out of the frame.</span>")
|
||||
|
||||
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 << "<span class='warning'>[src] is already in good condition!</span>"
|
||||
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 ? "<span class='notice'>You begin to unscrew the window from the frame...</span>" : "<span class='notice'>You begin to screw the window to the frame...</span>")
|
||||
else if(reinf && state == 0)
|
||||
user << (anchored ? "<span class='notice'>You begin to unscrew the frame from the floor...</span>" : "<span class='notice'>You begin to screw the frame to the floor...</span>")
|
||||
else if(!reinf)
|
||||
user << (anchored ? "<span class='notice'>You begin to unscrew the window from the floor...</span>" : "<span class='notice'>You begin to screw the window to the floor...</span>")
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wrench) && !anchored)
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
user << "<span class='notice'> You begin to disassemble [src]...</span>"
|
||||
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 ? "<span class='notice'>You unfasten the window from the frame.</span>" : "<span class='notice'>You fasten the window to the frame.</span>")
|
||||
else if(reinf && state == 0)
|
||||
anchored = !anchored
|
||||
update_nearby_icons()
|
||||
user << (anchored ? "<span class='notice'>You fasten the frame to the floor.</span>" : "<span class='notice'>You unfasten the frame from the floor.</span>")
|
||||
else if(!reinf)
|
||||
anchored = !anchored
|
||||
update_nearby_icons()
|
||||
user << (anchored ? "<span class='notice'>You fasten the window to the floor.</span>" : "<span class='notice'>You unfasten the window.</span>")
|
||||
|
||||
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 ? "<span class='notice'>You begin to lever the window into the frame...</span>" : "<span class='notice'>You begin to lever the window out of the frame...</span>")
|
||||
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 ? "<span class='notice'>You pry the window into the frame.</span>" : "<span class='notice'>You pry the window out of the frame.</span>")
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wrench) && !anchored)
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
user << "<span class='notice'> You begin to disassemble [src]...</span>"
|
||||
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 << "<span class='notice'>You successfully disassemble [src].</span>"
|
||||
qdel(src)
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
disassembled = 1
|
||||
user << "<span class='notice'>You successfully disassemble [src].</span>"
|
||||
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 ..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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!"
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user