diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index b6544287437..c7620721a8c 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -1867,7 +1867,7 @@ icon_state = "tube1"; dir = 1 }, -/obj/machinery/computer/syndicate_depot/teleporter/targeted, +/obj/machinery/computer/syndicate_depot/teleporter, /turf/unsimulated/floor{ icon_state = "dark" }, diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm index 0ee95c18491..b2171008b2b 100644 --- a/_maps/map_files/cyberiad/z6.dmm +++ b/_maps/map_files/cyberiad/z6.dmm @@ -5428,16 +5428,6 @@ /obj/item/stack/tile, /turf/space, /area/space/nearstation) -"lz" = ( -/obj/machinery/light{ - dir = 1; - on = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/syndicate_depot/core) "lA" = ( /obj/machinery/door/poddoor{ id_tag = "syndi_depot_lvl2"; @@ -5698,7 +5688,7 @@ }, /area/syndicate_depot/outer) "mm" = ( -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "mn" = ( /obj/machinery/light{ @@ -5866,7 +5856,7 @@ /area/syndicate_depot/core) "mK" = ( /obj/structure/sign/poster/contraband/syndicate_recruitment, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "mL" = ( /obj/machinery/door/unpowered/shuttle, @@ -5887,7 +5877,7 @@ /area/syndicate_depot/core) "mO" = ( /obj/structure/sign/poster/contraband/lamarr, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "mP" = ( /obj/structure/closet/crate, @@ -6067,8 +6057,8 @@ name = "Derelict Annex" }) "no" = ( -/obj/machinery/bluespace_beacon/syndicate, /obj/effect/decal/warning_stripes/yellow, +/obj/machinery/bluespace_beacon/syndicate, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -6118,7 +6108,7 @@ /area/syndicate_depot/core) "nt" = ( /obj/structure/sign/poster/contraband/fun_police, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nu" = ( /obj/machinery/door/poddoor/multi_tile/two_tile_hor, @@ -6157,20 +6147,21 @@ "nz" = ( /obj/item/lighter/zippo/black, /obj/structure/table, +/obj/effect/spawner/random_spawners/syndicate/loot/stetchkin, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/syndicate_depot/core) "nA" = ( /obj/structure/sign/poster/contraband/lusty_xenomorph, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nB" = ( /obj/effect/landmark{ dir = 6; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nC" = ( /obj/effect/spawner/random_spawners/syndicate/layout/door/vault, @@ -6187,7 +6178,7 @@ dir = 4; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nE" = ( /obj/structure/sign/poster/contraband/energy_swords, @@ -6195,7 +6186,7 @@ dir = 4; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nF" = ( /obj/effect/spawner/random_spawners/syndicate/layout/spacepod, @@ -6209,18 +6200,18 @@ dir = 4; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nH" = ( /obj/effect/landmark{ dir = 10; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nI" = ( /obj/structure/sign/poster/official/high_class_martini, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nJ" = ( /obj/machinery/light/small{ @@ -6282,11 +6273,11 @@ /area/syndicate_depot/core) "nQ" = ( /obj/structure/sign/poster/official/air1, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nR" = ( -/obj/item/storage/box/donkpockets, /obj/structure/table, +/obj/item/storage/box/donkpockets, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -6305,11 +6296,11 @@ /area/syndicate_depot/core) "nU" = ( /obj/structure/sign/poster/contraband/tools, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nV" = ( /obj/structure/sign/poster/contraband/hacking_guide, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "nW" = ( /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer, @@ -6479,7 +6470,7 @@ /area/syndicate_depot/core) "os" = ( /obj/structure/table, -/obj/item/wrench, +/obj/effect/spawner/random_spawners/syndicate/loot/stetchkin, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -6533,14 +6524,14 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oz" = ( /obj/effect/landmark{ dir = 5; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oA" = ( /obj/structure/sign/poster/contraband/syndicate_pistol, @@ -6548,7 +6539,7 @@ dir = 4; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oB" = ( /obj/effect/spawner/random_spawners/syndicate/mob, @@ -6559,29 +6550,17 @@ dir = 9; name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oD" = ( /obj/structure/sign/poster/official/state_laws, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oE" = ( /obj/effect/landmark{ name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, -/area/syndicate_depot/core) -"oF" = ( -/obj/machinery/door_control{ - active_power_usage = 0; - id = "syndi_depot_rear"; - idle_power_usage = 0; - name = "mysterious button"; - normaldoorcontrol = 0; - use_power = 0 - }, -/obj/structure/sign/poster/contraband/syndicate_recruitment, -/turf/simulated/wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oG" = ( /obj/effect/decal/warning_stripes/east, @@ -6639,33 +6618,9 @@ }, /turf/simulated/floor/mineral/silver, /area/syndicate_depot/core) -"oN" = ( -/obj/machinery/door_control{ - active_power_usage = 0; - id = "syndi_depot_rear"; - idle_power_usage = 0; - name = "mysterious button"; - normaldoorcontrol = 0; - pixel_x = 24; - use_power = 0 - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/syndicate_depot/core) "oO" = ( /obj/structure/sign/poster/contraband/missing_gloves, -/turf/simulated/wall/r_wall, -/area/syndicate_depot/core) -"oP" = ( -/obj/machinery/door/poddoor{ - id_tag = "syndi_depot_rear"; - name = "Sealed Doors"; - protected = 0 - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oQ" = ( /obj/machinery/atmospherics/unary/passive_vent/high_volume{ @@ -6740,7 +6695,7 @@ /obj/effect/landmark{ name = "syndi_depot_shield" }, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "oY" = ( /obj/machinery/atmospherics/unary/passive_vent/high_volume{ @@ -6790,10 +6745,6 @@ pixel_x = 24 }, /obj/structure/cable, -/obj/machinery/turretid/syndicate{ - name = "external turret controls"; - pixel_y = 32 - }, /turf/simulated/floor/plating/airless, /area/syndicate_depot/outer) "pf" = ( @@ -6821,7 +6772,7 @@ /area/syndicate_depot/outer) "pi" = ( /obj/structure/sign/poster/official/obey, -/turf/simulated/wall/r_wall, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, /area/syndicate_depot/core) "pj" = ( /turf/simulated/floor/plasteel{ @@ -6865,13 +6816,6 @@ icon_state = "brown" }, /area/derelict/arrival) -"pp" = ( -/turf/simulated/mineral, -/area/syndicate_depot/core) -"pq" = ( -/obj/effect/spawner/random_spawners/blood_maybe, -/turf/simulated/floor/plating/asteroid/airless, -/area/syndicate_depot/core) "pr" = ( /obj/structure/closet/crate/can, /obj/effect/spawner/lootdrop/maintenance, @@ -6933,17 +6877,6 @@ /area/derelict/eva{ name = "Derelict Annex" }) -"pw" = ( -/obj/item/candle, -/obj/structure/table, -/turf/simulated/floor/plating/asteroid/airless, -/area/syndicate_depot/core) -"px" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/simulated/floor/plating/asteroid/airless, -/area/syndicate_depot/core) "py" = ( /obj/structure/chair{ dir = 8 @@ -6971,13 +6904,6 @@ /obj/structure/spider/stickyweb, /turf/simulated/floor/plasteel, /area/derelict/crew_quarters) -"pC" = ( -/turf/simulated/floor/plating/asteroid/airless, -/area/syndicate_depot/core) -"pD" = ( -/obj/structure/falsewall, -/turf/simulated/floor/plating/airless, -/area/syndicate_depot/core) "pE" = ( /obj/machinery/light/small{ dir = 8 @@ -6987,9 +6913,6 @@ icon_state = "dark" }, /area/syndicate_depot/core) -"pF" = ( -/turf/simulated/wall, -/area/syndicate_depot/core) "pG" = ( /obj/structure/flora/rock/pile, /turf/simulated/floor/plating/airless, @@ -11101,6 +11024,18 @@ dir = 9 }, /area/derelict/arrival) +"yg" = ( +/obj/machinery/door_control{ + active_power_usage = 0; + id = "syndi_depot_rear"; + idle_power_usage = 0; + name = "mysterious button"; + normaldoorcontrol = 0; + use_power = 0 + }, +/obj/structure/sign/poster/contraband/syndicate_recruitment, +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/syndicate_depot/outer) "yh" = ( /obj/structure/rack, /obj/item/newspaper{ @@ -11666,6 +11601,141 @@ icon_state = "dark" }, /area/syndicate_depot/core) +"BB" = ( +/obj/structure/falsewall, +/obj/structure/fans/tiny, +/turf/simulated/floor/plating/airless, +/area/syndicate_depot/outer) +"DH" = ( +/obj/machinery/light{ + dir = 1; + on = 1 + }, +/obj/item/flag/chameleon{ + icon_state = "syndiflag"; + name = "Syndicate Flag"; + used = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/core) +"GF" = ( +/obj/item/flag/chameleon{ + icon_state = "syndiflag"; + name = "Syndicate Flag"; + used = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"GH" = ( +/obj/effect/spawner/random_spawners/syndicate/turret, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"Hg" = ( +/obj/structure/dispenser, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"KK" = ( +/obj/machinery/door/airlock/external{ + id_tag = "sst_away"; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/unsimulated/floor{ + name = "plating" + }, +/area/syndicate_depot/outer) +"Mc" = ( +/obj/machinery/door/poddoor{ + id_tag = "syndi_depot_rear"; + name = "Sealed Doors"; + protected = 0 + }, +/obj/machinery/door/airlock/external{ + id_tag = "sst_away"; + req_access_txt = "150" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"OV" = ( +/obj/machinery/door/airlock/external{ + id_tag = "sst_away"; + req_access_txt = "150" + }, +/obj/structure/fans/tiny, +/turf/unsimulated/floor{ + name = "plating" + }, +/area/syndicate_depot/core) +"OX" = ( +/turf/simulated/wall/mineral/plastitanium/nodiagonal, +/area/syndicate_depot/outer) +"Pn" = ( +/obj/structure/table, +/obj/effect/spawner/random_spawners/syndicate/loot/stetchkin, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"Sv" = ( +/obj/effect/spawner/random_spawners/blood_maybe, +/turf/simulated/floor/plating/asteroid/airless, +/area/syndicate_depot/outer) +"UB" = ( +/obj/item/candle, +/obj/structure/table, +/turf/simulated/floor/plating/asteroid/airless, +/area/syndicate_depot/outer) +"UM" = ( +/obj/machinery/door_control{ + active_power_usage = 0; + id = "syndi_depot_rear"; + idle_power_usage = 0; + name = "mysterious button"; + normaldoorcontrol = 0; + pixel_x = 24; + use_power = 0 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"Yh" = ( +/obj/machinery/light{ + dir = 1; + on = 1 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) +"YV" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/airless, +/area/syndicate_depot/outer) +"ZQ" = ( +/obj/machinery/turretid/syndicate{ + name = "external turret controls"; + pixel_x = -32; + pixel_y = 0; + req_access = list(150) + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/syndicate_depot/outer) (1,1,1) = {" aa @@ -55577,7 +55647,7 @@ lK lK mi lK -mf +lK lK lK lK @@ -56614,7 +56684,7 @@ mm mm mm lK -mf +lK lK lI lI @@ -59924,7 +59994,7 @@ aa aa lG lH -lH +lI lH lH lH @@ -60439,7 +60509,7 @@ aa lF lH lH -lH +lI lH lH lI @@ -60457,7 +60527,7 @@ mw mA mA mm -lV +DH mA nZ ol @@ -60729,7 +60799,7 @@ mm mm nx mA -mA +os mm lK lK @@ -61211,7 +61281,7 @@ lF lH lH lH -lH +lI lH lH lH @@ -61466,7 +61536,7 @@ aa aa lF lH -lH +lI lH lH lH @@ -61481,7 +61551,7 @@ mm mB mm mm -mm +mB mm mm mm @@ -61734,7 +61804,7 @@ lI lK mg mm -lz +mR mA mB mA @@ -61991,12 +62061,12 @@ lK lK lK mm -ms +mM mA mO mh mA -zP +mA mm mA mA @@ -62255,7 +62325,7 @@ nk ns mA nA -mR +lV mA nS mm @@ -62494,7 +62564,7 @@ aa aa lG lH -lH +lI lH lH lH @@ -62512,7 +62582,7 @@ no mA zP mm -mM +zP mA mA ob @@ -62522,7 +62592,7 @@ oe pa mm nM -oN +mA mA mA mM @@ -62756,7 +62826,7 @@ lH lH lH lH -lH +lI lI lI lK @@ -62770,6 +62840,7 @@ mm mm mm mm +OV mm mm mm @@ -62780,7 +62851,6 @@ mm mm mm mm -mC mm mm mm @@ -63011,8 +63081,8 @@ lH lH lH lH -lH -lH +lI +lI lI lI lI @@ -63028,17 +63098,17 @@ lK lK lK lK -mn +lK +lK +lK +lK mf -lK -lK -lK mn lK lK -mC -zO -mC +lK +lK +lK lK lK lK @@ -63265,17 +63335,20 @@ aa aa lF lH -lH -lH -lH -lH -lH +lI lH lI lI lI lI lI +lI +lI +lI +lI +lK +lK +lK lK lK lK @@ -63293,9 +63366,6 @@ lK lK lK lK -mm -oP -mm lK lK lK @@ -63523,36 +63593,36 @@ aa lF lH lH -lH -lH -lH -lH -lH -lH -lH -lI -lI -lI -lI -lI -lK -lK -lI -lI -lI -lI -lI -lK lI lI lI lI lI lI -pp -pp -pD -pp +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +OX +OX +KK +OX +OX +lI +lI +lI +lI +lI +lI +lI +lI +lI lI lI lI @@ -63782,12 +63852,6 @@ lH lH lH lH -lH -lH -lH -lH -lH -lH lI lI lI @@ -63802,14 +63866,17 @@ lI lI lI lI +OX +Hg +lX +lX +OX lI lI lI lI -oF -pw -pC -pp +OX +OX lI lI lI @@ -63817,7 +63884,10 @@ lI lI lI lI -lH +lI +lK +lI +lI lH lH lH @@ -64038,36 +64108,37 @@ lF lH lH lH -lH -lH -lH -lH -lH -lH -lH -lH lI lI lI lI lI lI -lH -lH lI lI lI lI lI +lI +lI +lI +lI +OX +Yh +lX +lX +OX +OX +yg lK -me +UB lK lK -pq -px -pq -pF lI +lI +lI +OX +OX lK lK lK @@ -64081,7 +64152,6 @@ lH lH lH lH -lH lF aa aa @@ -64292,43 +64362,44 @@ aa aa aa lF -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lI -lI lI lH lH lH lI -lH +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +OX +Pn +lX +lX +Mc +ZQ +BB +lK +YV +Sv +OX +OX +lI lI lI lK -lK -lK -lK -lI -lI -me -lI -lI -lH lI lK -me -lH +OX +OX lI lH lH @@ -64338,7 +64409,6 @@ lH lH lH lH -lH lF aa aa @@ -64552,30 +64622,31 @@ lF lH lH lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH lI lI lI -lH -lH lI lI -lH -lH -me +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +OX +GF +lX +UM +OX +OX +lI +Sv +lK lK -me -lI -lI lI lK lK @@ -64595,7 +64666,6 @@ lH lH lH lH -lH lF aa aa @@ -64808,34 +64878,35 @@ aa lF lH lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lI -lH -lH lI lI lI -lH -lH -lH -lH -lH lI -lK +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +OX +OX +GH +OX +OX +lI +lI lK lK lI lI lK -me +OX lI lK lI @@ -64852,7 +64923,6 @@ lH lH lH lH -lH lF aa aa @@ -65066,38 +65136,38 @@ lF lH lH lH -lH -lH -lH -lH -lH -lH -lH lI lI -lH -lH -lH -lH lI -lH -lH -lH -lH -lH -lH -me -lK -lK -lK -lK -lK +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +OX +OX +OX +lI +lI +lI lI lK lK -me lK -lH +lK +OX +lK +lK +OX +lK lH lH lH @@ -65323,37 +65393,37 @@ lF lH lH lH -lH -lH -lH -lH -lH -lH -lH -lH lI lI -lH -lH lI lI -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lK lK lK lK lK lI -lI -lH +OX lH lH lH @@ -65579,33 +65649,34 @@ aa lG lH lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH +lI lH lI lI lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +OX +OX lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -me +lK +lK +lK +OX lI lK lK @@ -65623,7 +65694,6 @@ lH lH lH lH -lH lF aa aa @@ -65839,30 +65909,31 @@ lH lH lH lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -me -lH lI lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lI +lH +lH +OX +lK +lI +OX lK lI lI @@ -65880,7 +65951,6 @@ lH lH lH lH -lH lF aa aa @@ -66098,35 +66168,35 @@ lH lH lH lH +lI +lI +lI lH lH +lI +lI +lI +lI lH -lH -lH -lH -lH -lH -lH -lH -lH -lH -lH +lI +lI +lI +lI lH lH lH lH lI +OX +lK lI lK -me -lH lK lK lK lK lK -lH -lH +OX lH lH lH @@ -66355,17 +66425,18 @@ lH lH lH lH +lI lH lH lH lH lH +lI lH lH lH -lH -lH -lH +lI +lI lH lH lH @@ -66378,12 +66449,11 @@ lK lI lI lI -lI -me +OX +OX lI lH -lH -lH +OX lH lH lH @@ -66622,6 +66692,7 @@ lH lH lH lH +lI lH lH lH @@ -66651,7 +66722,6 @@ lH lH lH lH -lH lF aa aa diff --git a/code/game/area/areas/depot-areas.dm b/code/game/area/areas/depot-areas.dm index d7d6499f659..86940fcb412 100644 --- a/code/game/area/areas/depot-areas.dm +++ b/code/game/area/areas/depot-areas.dm @@ -32,6 +32,7 @@ var/detected_pod = FALSE var/detected_double_agent = FALSE var/mine_trigger_count = 0 + var/perimeter_shield_status = FALSE var/obj/machinery/computer/syndicate_depot/syndiecomms/comms_computer = null var/obj/structure/fusionreactor/reactor @@ -114,9 +115,13 @@ updateicon() /area/syndicate_depot/core/proc/locker_looted() - something_looted = TRUE - if(on_peaceful) - increase_alert("Thieves!") + if(!something_looted) + something_looted = TRUE + if(on_peaceful) + increase_alert("Thieves!") + if(perimeter_shield_status) + increase_alert("Perimeter shield breach!") + /area/syndicate_depot/core/proc/armory_locker_looted() if(!run_finished && !used_self_destruct) @@ -146,7 +151,8 @@ if(detected_pod) return detected_pod = TRUE - increase_alert("Hostile spacepod detected: [P]") + if(!called_backup) + increase_alert("Hostile spacepod detected: [P]") /area/syndicate_depot/core/proc/saw_double_agent(mob/living/M) if(detected_double_agent) @@ -170,9 +176,6 @@ L.locked = !L.locked L.req_access = list(access_syndicate_leader) L.update_icon() - for(var/obj/machinery/computer/syndicate_depot/teleporter/P in src) - if(!P.portal_enabled) - P.toggle_portal() else log_game("Depot visit: ended") alert_log += "Visitor mode ended." @@ -317,7 +320,7 @@ A.update_icon() /area/syndicate_depot/core/proc/toggle_falsewalls() - for(var/obj/structure/falsewall/reinforced/F in src) + for(var/obj/structure/falsewall/plastitanium/F in src) spawn(0) F.toggle() diff --git a/code/game/machinery/computer/depot.dm b/code/game/machinery/computer/depot.dm index 149e2b7ff49..02be740b7d3 100644 --- a/code/game/machinery/computer/depot.dm +++ b/code/game/machinery/computer/depot.dm @@ -196,6 +196,7 @@ if(istype(perimeterarea) && (GAMEMODE_IS_NUCLEAR || prob(20))) spawn(200) perimeterarea.perimeter_shields_up() + depotarea.perimeter_shield_status = TRUE /obj/machinery/computer/syndicate_depot/shieldcontrol/Destroy() if(istype(perimeterarea) && perimeterarea.shield_list.len) @@ -219,8 +220,10 @@ return if(perimeterarea.shield_list.len) perimeterarea.perimeter_shields_down() + depotarea.perimeter_shield_status = FALSE else perimeterarea.perimeter_shields_up() + depotarea.perimeter_shield_status = TRUE playsound(user, sound_yes, 50, 0) @@ -282,17 +285,13 @@ to_chat(user, "[src] has already been used to transmit a message to the Syndicate.") return message_sent = TRUE - if(user.mind && user.mind.special_role == SPECIAL_ROLE_TRAITOR) - var/input = stripped_input(user, "Please choose a message to transmit to Syndicate HQ via quantum entanglement. Transmission does not guarantee a response. This function may only be used ONCE.", "To abort, send an empty message.", "") - if(!input) - message_sent = FALSE - return - Syndicate_announce(input, user) - to_chat(user, "Message transmitted.") - log_say("[key_name(user)] has sent a Syndicate comms message from the depot: [input]", user) - else - to_chat(user, "[src] requires authentication with syndicate codewords, which you do not know.") - raise_alert("Detected unauthorized access by [user] to [src]!") + var/input = stripped_input(user, "Please choose a message to transmit to Syndicate HQ via quantum entanglement. Transmission does not guarantee a response. This function may only be used ONCE.", "To abort, send an empty message.", "") + if(!input) + message_sent = FALSE + return + Syndicate_announce(input, user) + to_chat(user, "Message transmitted.") + log_say("[key_name(user)] has sent a Syndicate comms message from the depot: [input]", user) updateUsrDialog() playsound(user, sound_yes, 50, 0) @@ -318,7 +317,9 @@ to_chat(user, "Only verified agents of the Syndicate may sign in as visitors. Everyone else will be shot on sight.") else if(subcommand == DEPOT_VISITOR_START) if(depotarea.something_looted) - to_chat(user, "Visitor sign-in is not possible after supplies have been taken from the depot.") + to_chat(user, "Visitor sign-in is not possible after supplies have been taken from a locker in the depot.") + else if("syndicate" in user.faction) + to_chat(user, "You are already recognized as a member of the Syndicate, and do not need to sign in.") else if(user.mind && user.mind.special_role == SPECIAL_ROLE_TRAITOR) grant_syndie_faction(user) depotarea.peaceful_mode(TRUE, TRUE) @@ -359,6 +360,7 @@ icon_keyboard = "teleport_key" var/obj/machinery/bluespace_beacon/syndicate/mybeacon var/obj/effect/portal/redspace/myportal + var/obj/effect/portal/redspace/myportal2 var/portal_enabled = FALSE var/portaldir = WEST @@ -394,18 +396,6 @@ return FALSE /obj/machinery/computer/syndicate_depot/teleporter/proc/choosetarget() - var/list/eligible_turfs = list() - for(var/obj/item/radio/beacon/R in GLOB.beacons) - var/turf/T = get_turf(R) - if(!is_station_level(T.z)) - continue - eligible_turfs += T - if(eligible_turfs.len) - return pick(eligible_turfs) - else - return FALSE - -/obj/machinery/computer/syndicate_depot/teleporter/targeted/choosetarget() var/list/L = list() var/list/areaindex = list() @@ -434,9 +424,15 @@ myportal = P var/area/A = get_area(tele_target) P.name = "[A] portal" + var/obj/effect/portal/redspace/P2 = new(get_turf(tele_target), portal_turf, src, 0) + myportal2 = P2 + P2.name = "mysterious portal" else if(!portal_enabled && myportal) qdel(myportal) myportal = null + if(myportal2) + qdel(myportal2) + myportal2 = null /obj/machinery/computer/syndicate_depot/teleporter/get_menu(mob/user) var/menutext = "Syndicate Teleporter Control
" diff --git a/code/game/objects/effects/spawners/random_spawners.dm b/code/game/objects/effects/spawners/random_spawners.dm index 03e49c56a50..d2324b5dd93 100644 --- a/code/game/objects/effects/spawners/random_spawners.dm +++ b/code/game/objects/effects/spawners/random_spawners.dm @@ -186,7 +186,7 @@ name = "common loot" icon_state = "x3" spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot - // Loot schema: costumes, toys, useless gimmick items, trapped items + // Loot schema: costumes, toys, useless gimmick items result = list(/datum/nothing = 13, /obj/item/storage/toolbox/syndicate = 1, /obj/item/storage/fancy/cigarettes/cigpack_syndicate = 1, @@ -201,6 +201,16 @@ /obj/item/coin/antagtoken/syndicate = 1, /obj/item/storage/box/syndie_kit/cutouts = 1) +/obj/effect/spawner/random_spawners/syndicate/loot/stetchkin + name = "20pc stetchkin" + icon_state = "x3" + spawn_inside = null + result = list(/datum/nothing = 1, + /obj/item/wrench = 1, + /obj/item/reagent_containers/food/snacks/syndicake = 1, + /obj/item/coin/antagtoken/syndicate = 1, + /obj/item/gun/projectile/automatic/pistol = 1) + /obj/effect/spawner/random_spawners/syndicate/loot/level2 name = "rare loot" // Loot schema: space gear, basic armor, basic ammo (10mm, rcd), drugs, more dangerous/useful gimmick items, lower-value minerals @@ -291,18 +301,18 @@ /obj/effect/spawner/random_spawners/syndicate/layout/door name = "50pc door 25pc falsewall 25pc wall" result = list(/obj/machinery/door/airlock/hatch/syndicate = 6, - /turf/simulated/wall/r_wall = 2, - /obj/structure/falsewall/reinforced = 2) + /turf/simulated/wall/mineral/plastitanium/nodiagonal = 2, + /obj/structure/falsewall/plastitanium = 2) /obj/effect/spawner/random_spawners/syndicate/layout/door/secret name = "50pc falsewall 50pc wall" - result = list(/turf/simulated/wall/r_wall = 1, - /obj/structure/falsewall/reinforced = 1) + result = list(/turf/simulated/wall/mineral/plastitanium/nodiagonal = 1, + /obj/structure/falsewall/plastitanium = 1) /obj/effect/spawner/random_spawners/syndicate/layout/door/vault name = "80pc vaultdoor 20pc wall" result = list(/obj/machinery/door/airlock/hatch/syndicate/vault = 4, - /turf/simulated/wall/r_wall = 1) + /turf/simulated/wall/mineral/plastitanium/nodiagonal = 1) /obj/effect/spawner/random_spawners/syndicate/layout/spacepod diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 482bf4b84b6..9e2868835da 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -326,7 +326,7 @@ mineral = /obj/item/stack/sheet/mineral/plastitanium walltype = /turf/simulated/wall/mineral/plastitanium smooth = SMOOTH_MORE - canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater) + canSmoothWith = list(/turf/simulated/wall/mineral/plastitanium, /turf/simulated/wall/mineral/plastitanium/nodiagonal, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/full/shuttle, /obj/structure/shuttle/engine/heater) /obj/structure/falsewall/brass name = "clockwork wall" @@ -346,4 +346,3 @@ var/turf/T = get_turf(src) new /obj/effect/temp_visual/ratvar/wall/false(T) new /obj/effect/temp_visual/ratvar/beam/falsewall(T) - diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index b177d7a7aaf..87b9d6733ac 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -217,7 +217,7 @@ Gunshots/explosions/opening doors/less rare audio (done) qdel(src) /obj/effect/hallucination/simple/clown - image_icon = 'icons/mob/animal.dmi' + image_icon = 'icons/mob/simple_human.dmi' image_state = "clown" /obj/effect/hallucination/simple/clown/New(loc, mob/living/carbon/T, duration) diff --git a/code/modules/mob/living/silicon/decoy/decoy.dm b/code/modules/mob/living/silicon/decoy/decoy.dm index de6c372acfb..d8f82cf9d93 100644 --- a/code/modules/mob/living/silicon/decoy/decoy.dm +++ b/code/modules/mob/living/silicon/decoy/decoy.dm @@ -30,6 +30,8 @@ icon_state = "ai-magma" /mob/living/silicon/decoy/syndicate/depot + universal_speak = TRUE + universal_understand = TRUE var/raised_alert = FALSE /mob/living/silicon/decoy/syndicate/depot/proc/raise_alert() diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 34a224ca5ce..4e3f71b30b1 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -1,9 +1,10 @@ /mob/living/simple_animal/hostile/pirate name = "Pirate" desc = "Does what he wants cause a pirate is free." + icon = 'icons/mob/simple_human.dmi' icon_state = "piratemelee" icon_living = "piratemelee" - icon_dead = "piratemelee_dead" + icon_dead = "piratemelee_dead" // Does not actually exist. del_on_death. speak_chance = 0 turns_per_move = 5 response_help = "pushes the" @@ -33,7 +34,7 @@ name = "Pirate Gunner" icon_state = "pirateranged" icon_living = "pirateranged" - icon_dead = "piratemelee_dead" + icon_dead = "piratemelee_dead" // Does not actually exist. del_on_death. projectilesound = 'sound/weapons/laser.ogg' ranged = 1 rapid = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index 6f6317ec839..5a278a65b24 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -1,6 +1,7 @@ /mob/living/simple_animal/hostile/retaliate/clown name = "Clown" desc = "A denizen of clown planet" + icon = 'icons/mob/simple_human.dmi' icon_state = "clown" icon_living = "clown" icon_dead = "clown_dead" @@ -32,6 +33,7 @@ /mob/living/simple_animal/hostile/retaliate/clown/goblin + icon = 'icons/mob/animal.dmi' name = "clown goblin" desc = "A tiny walking mask and clown shoes. You want to honk his nose!" icon_state = "clowngoblin" diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index 0c5f2647ae8..37ae67cfef5 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -1,10 +1,11 @@ /mob/living/simple_animal/hostile/russian name = "Russian" desc = "For the Motherland!" + icon = 'icons/mob/simple_human.dmi' icon_state = "russianmelee" icon_living = "russianmelee" - icon_dead = "russianmelee_dead" - icon_gib = "syndicate_gib" + icon_dead = "russianmelee_dead" // Does not actually exist. del_on_death. + icon_gib = "russianmelee_gib" // Does not actually exist. del_on_death. speak_chance = 0 turns_per_move = 5 response_help = "pokes the" diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm index 011c47b2c24..ffa51b15bde 100644 --- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/hostile/skeleton name = "reanimated skeleton" desc = "A real bonefied skeleton, doesn't seem like it wants to socialize." - icon = 'icons/mob/animal.dmi' + icon = 'icons/mob/simple_human.dmi' icon_state = "skeleton" icon_living = "skeleton" turns_per_move = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 3d1bc42a190..f98b918e4ed 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -1,10 +1,11 @@ /mob/living/simple_animal/hostile/syndicate name = "Syndicate Operative" desc = "Death to Nanotrasen." + icon = 'icons/mob/simple_human.dmi' icon_state = "syndicate" icon_living = "syndicate" - icon_dead = "syndicate_dead" - icon_gib = "syndicate_gib" + icon_dead = "syndicate_dead" // Does not actually exist. del_on_death. + icon_gib = "syndicate_gib" // Does not actually exist. del_on_death. speak_chance = 0 turns_per_move = 5 response_help = "pokes the" @@ -32,14 +33,15 @@ /mob/living/simple_animal/hostile/syndicate/melee melee_damage_lower = 20 melee_damage_upper = 25 - icon_state = "syndicatemelee" - icon_living = "syndicatemelee" + icon_state = "syndicate_sword" + icon_living = "syndicate_sword" attacktext = "slashes" attack_sound = 'sound/weapons/bladeslice.ogg' armour_penetration = 28 status_flags = 0 loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/melee/energy/sword/saber/red, /obj/item/shield/energy) var/melee_block_chance = 20 + var/ranged_block_chance = 35 /mob/living/simple_animal/hostile/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob, params) user.changeNext_move(CLICK_CD_MELEE) @@ -63,12 +65,13 @@ /mob/living/simple_animal/hostile/syndicate/melee/bullet_act(var/obj/item/projectile/Proj) - if(!Proj) return - if(prob(65)) + if(!Proj) + return + if(prob(ranged_block_chance)) + visible_message("[src] blocks [Proj] with its shield!") + else if((Proj.damage_type == BRUTE || Proj.damage_type == BURN)) adjustHealth(Proj.damage) - else - visible_message("[src] blocks [Proj] with its shield!") return 0 /mob/living/simple_animal/hostile/syndicate/melee/autogib @@ -80,7 +83,10 @@ robust_searching = 1 // Together with stat_attack, ensures dionae/etc that regen are killed properly stat_attack = UNCONSCIOUS universal_speak = 1 - melee_block_chance = 40 + icon_state = "syndicate_swordonly" + icon_living = "syndicate_swordonly" + melee_block_chance = 0 + ranged_block_chance = 0 del_on_death = 1 var/area/syndicate_depot/core/depotarea var/raised_alert = FALSE @@ -103,15 +109,21 @@ depotarea = areaMaster spawn_turf = get_turf(src) + +/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/ListTargetsLazy() + // The normal ListTargetsLazy ignores walls, which is very bad in the case of depot mobs. So we override it. + return ListTargets() + /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/Aggro() . = ..() if(target && istype(depotarea)) if(!seen_enemy) seen_enemy = TRUE - playsound(loc, 'sound/weapons/saberon.ogg', 35, 1) + if(!ranged) + playsound(loc, 'sound/weapons/saberon.ogg', 35, 1) if(alert_on_shield_breach) if(depotarea.shield_list.len) - raise_alert("[name] reports that an intruder is trying to breach the armory shield!") + raise_alert("[name] reports that [target] is trying to breach the armory shield!") alert_on_shield_breach = FALSE raised_alert = FALSE alert_on_death = TRUE @@ -134,9 +146,8 @@ // This prevents someone from aggroing a depot mob, then hiding in a locker, perfectly safe, while the mob stands there getting killed by their friends. LoseTarget() -/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/handle_automated_action() - if(!..()) - return +/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/handle_automated_movement() + . = ..() if(seen_enemy) aggro_cycles++ if(alert_on_timeout && !raised_alert && aggro_cycles >= 60) @@ -198,22 +209,61 @@ /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer name = "Syndicate Officer" + icon_state = "syndicate_sword" + icon_living = "syndicate_sword" + melee_block_chance = 20 + ranged_block_chance = 35 alert_on_death = TRUE - melee_block_chance = 60 + +/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer/Initialize(mapload) + . = ..() + if(prob(50)) + // 50% chance of switching to ranged variant. + // Designed to counter players taking cover behind reinforced plasmasglass. + // Does almost no danage in melee, but decent damage at range, and its shots go through glass. + melee_damage_lower = 10 + melee_damage_upper = 10 + attacktext = "punches" + attack_sound = 'sound/weapons/punch1.ogg' + ranged = 1 + rapid = 3 + retreat_distance = 3 + minimum_distance = 3 + melee_block_chance = 0 + ranged_block_chance = 0 + icon_state = "syndicate_pistol" + icon_living = "syndicate_pistol" + projectiletype = /obj/item/projectile/beam/laser + projectilesound = 'sound/weapons/laser.ogg' /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory name = "Syndicate Quartermaster" - icon_state = "syndicatemeleespace" - icon_living = "syndicatemeleespace" + icon_state = "syndicate_stormtrooper_sword" + icon_living = "syndicate_stormtrooper_sword" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 - maxHealth = 250 - health = 250 - melee_block_chance = 80 + maxHealth = 200 + health = 200 + melee_block_chance = 40 alert_on_shield_breach = TRUE -/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/Initialize() +/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/Initialize(mapload) ..() + if(prob(50)) + // 50% chance of switching to extremely dangerous ranged variant + melee_damage_lower = 10 + melee_damage_upper = 10 + attacktext = "punches" + attack_sound = 'sound/weapons/punch1.ogg' + ranged = 1 + retreat_distance = 3 + minimum_distance = 3 + melee_block_chance = 0 + ranged_block_chance = 0 + icon_state = "syndicate_stormtrooper_shotgun" + icon_living = "syndicate_stormtrooper_shotgun" + projectiletype = /obj/item/projectile/bullet/sniper/penetrator // Ignores cover. + projectilesound = 'sound/weapons/gunshots/gunshot_sniper.ogg' return INITIALIZE_HINT_LATELOAD /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/LateInitialize() @@ -231,8 +281,8 @@ name = "Syndicate Backup" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 - icon_state = "syndicatemeleespace" - icon_living = "syndicatemeleespace" + icon_state = "syndicate_space_sword" + icon_living = "syndicate_space_sword" speed = 1 wander = 0 alert_on_spacing = FALSE @@ -246,8 +296,8 @@ name = "Syndicate Commando" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 - icon_state = "syndicatemeleespace" - icon_living = "syndicatemeleespace" + icon_state = "syndicate_space_sword" + icon_living = "syndicate_space_sword" speed = 1 loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando, /obj/item/melee/energy/sword/saber/red, /obj/item/shield/energy) @@ -260,15 +310,15 @@ rapid = 2 retreat_distance = 5 minimum_distance = 5 - icon_state = "syndicateranged" - icon_living = "syndicateranged" + icon_state = "syndicate_smg" + icon_living = "syndicate_smg" projectilesound = 'sound/weapons/gunshots/gunshot.ogg' casingtype = /obj/item/ammo_casing/c45 loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/gun/projectile/automatic/c20r) /mob/living/simple_animal/hostile/syndicate/ranged/space - icon_state = "syndicaterangedpsace" - icon_living = "syndicaterangedpsace" + icon_state = "syndicate_space_smg" + icon_living = "syndicate_space_smg" name = "Syndicate Commando" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 6666d3cf4d2..53cc2cda476 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/simple_human.dmi b/icons/mob/simple_human.dmi new file mode 100644 index 00000000000..9ab1c9a1796 Binary files /dev/null and b/icons/mob/simple_human.dmi differ