From 0bfd0ae876a4d16fd360d1bdee62fd8be8f72fe0 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 1 Sep 2016 01:26:59 -0400 Subject: [PATCH] cultdoors --- _maps/map_files/shuttles/emergency_cult.dmm | 158 +++++++++--------- code/game/machinery/doors/airlock.dm | 41 +++++ code/game/objects/structures/door_assembly.dm | 9 +- icons/obj/doors/Doorcult.dmi | Bin 0 -> 15808 bytes 4 files changed, 125 insertions(+), 83 deletions(-) create mode 100644 icons/obj/doors/Doorcult.dmi diff --git a/_maps/map_files/shuttles/emergency_cult.dmm b/_maps/map_files/shuttles/emergency_cult.dmm index c1d984b297a..040961227cc 100644 --- a/_maps/map_files/shuttles/emergency_cult.dmm +++ b/_maps/map_files/shuttles/emergency_cult.dmm @@ -1,93 +1,89 @@ "aa" = (/turf/space,/area/space) "ab" = (/turf/simulated/wall/cult,/area/shuttle/escape) -"ac" = (/obj/effect/spawner/window/reinforced,/obj/structure/cult/pylon,/turf/simulated/floor/plating,/area/shuttle/escape) +"ac" = (/obj/effect/spawner/window/reinforced{color = "red"},/turf/simulated/floor/plating,/area/shuttle/escape) "ad" = (/obj/machinery/computer/emergency_shuttle,/turf/simulated/floor/engine/cult,/area/shuttle/escape) "ae" = (/obj/machinery/computer/security{network = list("SS13","Telecomms","Research Outpost","Mining Outpost")},/turf/simulated/floor/engine/cult,/area/shuttle/escape) "af" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/engine/cult,/area/shuttle/escape) "ag" = (/obj/machinery/computer/communications,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ah" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/escape) -"ai" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aj" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ak" = (/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"al" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"am" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"an" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ao" = (/obj/machinery/computer/robotics,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ap" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aq" = (/obj/machinery/light/spot,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ar" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"as" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape) -"at" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"au" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/stool/bed/chair,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"av" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aw" = (/obj/item/flag/cult,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ax" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"ay" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/turf/simulated/wall/cult,/area/shuttle/escape) -"az" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aA" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/obj/structure/mineral_door/wood,/turf/simulated/floor/plating,/area/shuttle/escape) -"aB" = (/obj/structure/cult/talisman,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aC" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aD" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plating,/area/shuttle/escape) -"aE" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aF" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aG" = (/obj/effect/spawner/window/reinforced,/turf/simulated/wall/cult,/area/shuttle/escape) -"aH" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 11; height = 13; name = "Shuttle 667"; timid = 1; width = 24},/obj/structure/mineral_door/wood,/turf/simulated/shuttle/floor,/area/shuttle/escape) -"aI" = (/obj/effect/rune,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aJ" = (/obj/item/device/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/item/flag/cult,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aK" = (/obj/item/candle/eternal,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aL" = (/obj/effect/decal/cleanable/blood/writing,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aM" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aN" = (/mob/living/simple_animal/construct/harvester,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aO" = (/mob/living/simple_animal/construct/builder,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aP" = (/obj/effect/decal/cleanable/blood/innards,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aQ" = (/mob/living/simple_animal/construct/wraith,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aR" = (/mob/living/simple_animal/construct/armoured,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aS" = (/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aT" = (/obj/effect/decal/cleanable/blood/writing,/obj/effect/decal/cleanable/blood/writing,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aU" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/obj/effect/spawner/window/reinforced,/turf/simulated/wall/cult,/area/shuttle/escape) -"aV" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/obj/structure/mineral_door/wood,/turf/simulated/shuttle/floor,/area/shuttle/escape) -"aW" = (/obj/machinery/status_display{pixel_y = -30},/obj/machinery/light/spot,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"aX" = (/obj/structure/mineral_door/wood,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) -"aY" = (/obj/effect/spawner/window/reinforced,/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape) -"aZ" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/obj/structure/mineral_door/wood,/turf/simulated/shuttle/floor4,/area/shuttle/escape) -"ba" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/obj/structure/mineral_door/wood,/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape) -"bb" = (/obj/structure/dresser,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bc" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bd" = (/obj/effect/decal/cleanable/blood/tracks/footprints,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"be" = (/obj/structure/showcase/horrific_experiment,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bf" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bg" = (/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bh" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bi" = (/obj/structure/table/woodentable,/obj/item/weapon/tome,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bj" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/cult,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bk" = (/obj/machinery/sleeper{tag = "icon-sleeper (NORTH)"; icon_state = "sleeper"; dir = 1},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/engine/cult,/area/shuttle/escape) -"bl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/obj/structure/cult/forge,/turf/simulated/floor/plating/airless,/area/shuttle/escape) -"bm" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/structure/cult/forge,/turf/simulated/floor/plating/airless,/area/shuttle/escape) -"bn" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape) +"ah" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ai" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aj" = (/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ak" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"al" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"am" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"an" = (/obj/machinery/computer/robotics,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ao" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ap" = (/obj/machinery/light/spot,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aq" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ar" = (/obj/machinery/door/airlock/cult/friendly,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"as" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"at" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/stool/bed/chair,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"au" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"av" = (/obj/item/flag/cult,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aw" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ax" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ay" = (/obj/machinery/door/airlock/cult/friendly,/turf/simulated/floor/plating,/area/shuttle/escape) +"az" = (/obj/structure/cult/talisman,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aA" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aB" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aC" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Human remains"},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aD" = (/obj/effect/spawner/window/reinforced{color = "red"},/turf/simulated/wall/cult,/area/shuttle/escape) +"aE" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 11; height = 13; name = "Shuttle 667"; timid = 1; width = 24},/obj/machinery/door/airlock/cult/friendly,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aF" = (/obj/effect/rune,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aG" = (/obj/item/device/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/item/flag/cult,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aH" = (/obj/item/candle/eternal,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aI" = (/obj/effect/decal/cleanable/blood/writing,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aJ" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aK" = (/mob/living/simple_animal/construct/harvester,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aL" = (/mob/living/simple_animal/construct/builder,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aM" = (/obj/effect/decal/cleanable/blood/innards,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aN" = (/mob/living/simple_animal/construct/wraith,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aO" = (/mob/living/simple_animal/construct/armoured,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aP" = (/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aQ" = (/obj/effect/decal/cleanable/blood/writing,/obj/effect/decal/cleanable/blood/writing,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aR" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/obj/effect/spawner/window/reinforced{color = "red"},/turf/simulated/wall/cult,/area/shuttle/escape) +"aS" = (/obj/machinery/status_display{pixel_y = -30},/obj/machinery/light/spot,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aT" = (/obj/machinery/door/airlock/cult/friendly,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aU" = (/obj/effect/spawner/window/reinforced{color = "red"},/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"aV" = (/obj/machinery/door/airlock/cult/friendly,/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"aW" = (/obj/structure/dresser,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aX" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aY" = (/obj/effect/decal/cleanable/blood/tracks/footprints,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"aZ" = (/obj/structure/showcase/horrific_experiment,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"ba" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/escape) +"bb" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"bc" = (/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"bd" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"be" = (/obj/structure/table/woodentable,/obj/item/weapon/tome,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"bf" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/cult,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"bg" = (/obj/machinery/sleeper{tag = "icon-sleeper (NORTH)"; icon_state = "sleeper"; dir = 1},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/engine/cult,/area/shuttle/escape) +"bh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/obj/structure/cult/forge,/turf/simulated/floor/plating/airless,/area/shuttle/escape) +"bi" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/obj/structure/cult/forge,/turf/simulated/floor/plating/airless,/area/shuttle/escape) +"bj" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape) (1,1,1) = {" aaaaaaaaaaabacabaaaaaaaaaa aaaaaaaaababadababaaaaaaaa aaaaaaababaeafagababaaaaaa -aaaaaaahaiajakajalahaaaaaa -aaaaababamakakakanababaaaa -aaaaabaoapakakaqarakabaaaa -ababababababasabababababab -abatauavahawakawakakaxakab -ayazakakaAakakakakakaBaCab -aDakaEaFahakakakakakakakaG -ababababahakakakakakakakab -aHakakakakakaIakakakakakab -abaJakakaIaKaLaKaIakakaMab -ahakakakaKaNaLaOaKakakakah -ahakakaIaLaLaPaLaLaIakakah -ahakakakaKaQaLaRaKakakakah -abaSakakaIaKaTaKaIakakakaU -aVakakakakaWaIaWakakakakah -abababaXababahaYahaZahahay -baakakakbbabaaabbcbdbdbeab -ahakakakbfabaaabbgbgbhbeab -ayakakbibjabaaabbkbgbhbeab -ababblblblabaaabbmbmbmabab -aaabbnbnbnabaaabbnbnbnabaa +aaaaaaacahaiajaiakacaaaaaa +aaaaababalajajajamababaaaa +aaaaabanaoajajapaqajabaaaa +ababababababarabababababab +abasatauacavajavajajawajab +abaxajajayajajajajajazaAab +arajaBaCacajajajajajajajaD +ababababacajajajajajajajab +aEajajajajajaFajajajajajab +abaGajajaFaHaIaHaFajajaJab +acajajajaHaKaIaLaHajajajac +acajajaFaIaIaMaIaIaFajajac +acajajajaHaNaIaOaHajajajac +abaPajajaFaHaQaHaFajajajaR +arajajajajaSaFaSajajajajac +abababaTababacaUacaVacacab +arajajajaWabaaabaXaYaYaZab +baajajajbbabaaabbcbcbdaZab +abajajbebfabaaabbgbcbdaZab +ababbhbhbhabaaabbibibiabab +aaabbjbjbjabaaabbjbjbjabaa "} diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 4cb724c1a01..4b926d7bb7e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1096,3 +1096,44 @@ About the new airlock wires panel: electrified_until = 0 open() safe = TRUE + +////////////////////////////////// +/* + Cult Airlocks +*/ + +/obj/machinery/door/airlock/cult + name = "cult airlock" + icon = 'icons/obj/doors/doorcult.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_cult + hackProof = 1 + aiControlDisabled = 1 + var/friendly = FALSE + +/obj/machinery/door/airlock/cult/New() + ..() + +/obj/machinery/door/airlock/cult/canAIControl(mob/user) + return (iscultist(user)) + +/obj/machinery/door/airlock/cult/allowed(mob/M) + if(!density) + return 1 + if(friendly || \ + iscultist(M) || \ + istype(M, /mob/living/simple_animal/shade) || \ + istype(M, /mob/living/simple_animal/construct)) + return 1 + else + var/atom/throwtarget + throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src))) + M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50)) + M.Weaken(2) + M.throw_at(throwtarget, 5, 1,src) + return 0 + +/obj/machinery/door/airlock/cult/narsie_act() + return + +/obj/machinery/door/airlock/cult/friendly + friendly = TRUE diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index d5a370e9225..f83c257740f 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -111,8 +111,6 @@ obj/structure/door_assembly/multi_tile icon = 'icons/obj/doors/door_assembly2x1.dmi' dir = EAST var/width = 1 - - /*Temporary until we get sprites. glass_type = "/multi_tile/glass" airlock_type = "/multi_tile/maint" @@ -121,6 +119,13 @@ obj/structure/door_assembly/multi_tile airlock_type = "/multi_tile/glass" glass = -1 //To prevent bugs in deconstruction process. + +/obj/structure/door_assembly/door_assembly_cult + base_name = "cult airlock assembly" + icon = 'icons/obj/doors/Doorcult.dmi' + base_icon_state ="construction" + airlock_type = "/cult" + obj/structure/door_assembly/multi_tile/New() if(dir in list(EAST, WEST)) bound_width = width * world.icon_size diff --git a/icons/obj/doors/Doorcult.dmi b/icons/obj/doors/Doorcult.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f9f4aa92466fcdda6774838ed2c08f5aefd0ef6e GIT binary patch literal 15808 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 literal 0 HcmV?d00001