diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm index 646bf98c743..03e3823c492 100644 --- a/_maps/map_files/cyberiad/z6.dmm +++ b/_maps/map_files/cyberiad/z6.dmm @@ -662,16 +662,16 @@ "mL" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/spider,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot/outer) "mM" = (/obj/structure/sign/poster/contraband/syndicate_recruitment,/turf/simulated/wall/r_wall,/area/syndicate_depot) "mN" = (/obj/effect/spawner/random_spawners/syndicate/loot,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"mO" = (/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"mO" = (/obj/machinery/light,/obj/effect/spawner/random_spawners/syndicate/turret,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "mP" = (/obj/structure/sign/poster/contraband/lamarr,/turf/simulated/wall/r_wall,/area/syndicate_depot) "mQ" = (/obj/item/shard,/turf/simulated/floor/plating/airless/asteroid,/area/space) "mR" = (/obj/effect/landmark/corpse/mime{name = "Mime Pilot"},/turf/simulated/floor/plasteel/airless,/area/space) "mS" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space) -"mT" = (/obj/machinery/light{dir = 1; on = 1},/obj/item/stack/sheet/metal{layer = 4.1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"mU" = (/obj/structure/lattice,/obj/effect/spawner/random_spawners/syndicate/turret/external,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"mT" = (/obj/effect/spawner/random_spawners/syndicate/turret/external,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"mU" = (/obj/machinery/light{dir = 1; on = 1},/obj/item/stack/sheet/metal{layer = 4.1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "mV" = (/obj/item/stack/sheet/metal{layer = 4.1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"mW" = (/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"mX" = (/obj/machinery/computer/syndicate_depot/aiterminal,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"mW" = (/obj/machinery/light{dir = 1; on = 1},/obj/effect/spawner/random_spawners/syndicate/turret,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"mX" = (/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "mY" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "mZ" = (/obj/item/flag/chameleon{icon_state = "syndiflag"; name = "Syndicate Flag"; used = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "na" = (/obj/machinery/light{dir = 1; on = 1},/obj/effect/decal/warning_stripes/blue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) @@ -679,8 +679,8 @@ "nc" = (/obj/machinery/bluespace_beacon/syndicate,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "nd" = (/obj/machinery/navbeacon/invisible{codes_txt = "patrol;next_patrol=SDSW"; invisibility = 100; location = "SDNW"},/turf/simulated/floor/plating/airless/asteroid,/area/syndicate_depot/outer) "ne" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plating/airless/asteroid,/area/syndicate_depot/outer) -"nf" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"ng" = (/obj/machinery/atmospherics/unary/passive_vent/high_volume{dir = 8},/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"nf" = (/obj/machinery/computer/syndicate_depot/aiterminal,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"ng" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "nh" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "ni" = (/obj/structure/sign/poster/contraband/fun_police,/turf/simulated/wall/r_wall,/area/syndicate_depot) "nj" = (/obj/machinery/door/poddoor/multi_tile/two_tile_hor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) @@ -710,7 +710,7 @@ "nH" = (/obj/item/paper/clownship,/turf/simulated/floor/plasteel/airless,/area/space) "nI" = (/obj/structure/sign/poster/official/air1,/turf/simulated/wall/r_wall,/area/syndicate_depot) "nJ" = (/obj/structure/dispenser,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"nK" = (/obj/machinery/door/poddoor{id_tag = "syndi_depot_rear"; name = "Sealed Doors"; protected = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"nK" = (/obj/machinery/atmospherics/unary/passive_vent/high_volume{dir = 8},/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/officer,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "nL" = (/obj/item/storage/box/donkpockets,/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "nM" = (/obj/machinery/computer/syndicate_depot/syndiecomms,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "nN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/space) @@ -768,6 +768,8 @@ "oN" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "oO" = (/obj/effect/decal/warning_stripes/north,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "oP" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/landmark{dir = 4; name = "syndi_depot_shield"},/turf/simulated/wall/r_wall,/area/syndicate_depot) +"oQ" = (/obj/machinery/light{dir = 1; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) +"oR" = (/obj/machinery/door/poddoor{id_tag = "syndi_depot_rear"; name = "Sealed Doors"; protected = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "oS" = (/obj/structure/mirror{pixel_x = -32},/turf/simulated/floor/mineral/plasma,/area/syndicate_depot) "oT" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/mineral/silver,/area/syndicate_depot) "oU" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) @@ -783,7 +785,6 @@ "pe" = (/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,/area/syndicate_depot) "pf" = (/obj/effect/spawner/random_spawners/blood_maybe,/turf/simulated/floor/plating/airless/asteroid,/area/syndicate_depot) "pg" = (/obj/machinery/light{dir = 1; on = 1},/obj/effect/spawner/random_spawners/syndicate/turret,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) -"ph" = (/obj/machinery/light{dir = 1; on = 1},/obj/effect/spawner/random_spawners/syndicate/turret,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "pi" = (/obj/machinery/recharge_station,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "pj" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/syndicate_depot) "pk" = (/obj/item/candle,/obj/structure/table,/turf/simulated/floor/plating/airless/asteroid,/area/syndicate_depot) @@ -1020,29 +1021,29 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamcmcmcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalPaaaaaaaaaaaaaalQlQmdlWlWlWlWlWlWlWlXlUmdlRlTlTmelTmflTlTlTlTlTmflTmelTlTlRlRlRlRaaaaaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamgmhmhmhmiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlRmdlWlWlWlWlWlWmjlWmLmdlRlRlRmkmkmkmkmkmkmkmkmkmkmkmllTlTlRlRlRlRaaaalQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmnmompmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlRmdmqmqmdmdmdmdmdmdmdmdlRlRlRmkmrmrmrmsmtmumkmKmrmkmwmklTlTlRlRlRaaaaaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamgmxmyazmymzmiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlRlRlRlWlWlRlRlRlRlRlRlRlRlRlRlRmkmAmAmAmBmAmAmCmAmAmDmEmklTlTlRlRlRlQlQaaaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamgmxmyazmymzmiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlRlRlRlWlWlRlRlRlRlRlRlRlRlRlRlRmkmAmAmAmAmAmAmCmAmAmDmEmklTlTlRlRlRlQlQaaaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQaaaaaaaamFmGmxmHmImImzmJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTmkmkmYmAmkmkmkmkmkmMmkmkmkmkmkmkmNmNmOmAmAmAmkmCmPmkmkmkmelTlTlRlRlQlQlQaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQaaaalQlQlQlQlQmQmRmSlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRmalTmkmAmAmAmvmAmUmkmVmVpomTmAmZmkmkmkmkmkmkmkmCmkmAnanbncmklTlTlTlRlRlQlQlQaalQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQmFmFlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlTndnemkmUmEmAmAmAmEmCmAmVmVpopomAmCmAmAmAmvmAmAmAmkmAmAnhmAmkmllTlRlRlRaaaalQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlTlTlTmkmkmkninjmAmkmkmAmAmVmkmkmCmknkmAmAnlmAmAnmmkmAmZmAmZmklTlTlRlRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQaaaalQlQlQlQlQmQmRmSlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRmalTmkmAmAmAmvmAmTmkmVmVpomUmAmZmkmkmkmkmkmkmkmCmkmAnanbncmklTlTlTlRlRlQlQlQaalQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQmFmFlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlTndnemkmTmEmAmAmAmEmCmAmVmVpopomAmCmAmAmAmWmAmAmAmkmAmAnhmAmkmllTlRlRlRaaaalQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlTlTlTmkmkmkninjmAmkmkmAmAmVmkmkmCmknkmAmAmAnlmAnmmkmAmZmAmZmklTlTlRlRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQmFmFaaaamgnnnnmmmmnnnnnnnnmiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlRlTmemkmAmAmAmAmAmkmkmkmkmkmknomAmknmnmmAmAmAmAnmmkmDmknpmkmklTlTlRlRaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQmFmgnnnqmFnrazaznsnsntaznunvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmknwmAmAmAmAmkmNnxnmmknymAmAmkmknzmkmkmCmkmkmkmAmAnxmNmklTlTlRlRlRlQlQaaaaaaaaaaaaaaaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQlQmHazazazazaznAaznunBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTmknCmAmAmAnDmkmAmAmAmCmAmAmAmCmAmAmBmvmAmAmAmCmAmAmAmAmklTlTlRlRlRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQnEnFnGaznHnAaznAaznAnunBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalPaaaaaaaalRlRlTnenInJmAmAmAmAmCnlmAmAmkmBmAmAmkmAmAmAmAmAmAnLmkmZmsnMmAmkmllTlTlRlRlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQnNaznOazmpaznrazazaznAnunBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmknPmBmAmAmBmknQmCmkmkmknRmkmkmWnSnTososmAnWmkmkmkmknXmkmelTlRlRlRlQbBlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQnEnFnGaznHnAaznAaznAnunBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalPaaaaaaaalRlRlTnenInJmAmAmAmAmCmAmAnlmkmBmAmAmkmAmAmAmAmAmAnLmkmZmsnMmAmkmllTlTlRlRlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQnNaznOazmpaznrazazaznAnunBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmknPmBmAmAmBmknQmCmkmkmknRmkmkmXnSnTososmAnWmkmkmkmknXmkmelTlRlRlRlQbBlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQnYnnnZazoaazazobnsnsaznuocaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlTlTmemkmkmkmCmkmkmkodmAmvmsoeofogmkmAohnToinUmAojokolomonoomklTlTlRlRlRmFmFmFbBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQlQnYnnnnmmmmnnnnnnnnmJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmwmEmDmAmAopmkoqmAmAmAmAorotoKouoPoMoKpbmCmkmkokmkovowmklTlTlRlRlTmFbBmFmFaaaaaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmkmkoxnlmAmAmCmAmBmAmWmAoypCozoAoBoCoDpCmAmAmvmXmkoEoFmklTlTlRlRmdmFlQmFmFaaaabBlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQaalQlQlQlQlQmFmFlQlQlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTnemkmNmAmAnDoGmAmAmAoHoIoJpDoLnfoNoOoOpFoLngmBnhmkoSoTmkmllTlRlRlTmFlQlQmFaaaaaamFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmkmkoxmAnlmAmCmAmBmAmXmAoypCozoAoBoCoDpCmAmAmWnfmkoEoFmklTlTlRlRmdmFlQmFmFaaaabBlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQaalQlQlQlQlQmFmFlQlQlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTnemkmNmAmAnDoGmAmAmAoHoIoJpDoLngoNoOoOpFoLnKmAnhmkoSoTmkmllTlRlRlTmFlQlQmFaaaaaamFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQmFmFmFlQlQlQlQlQlQlQlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTlTmkmkmkmCmkmkoUnToVmAoWoXpCmAmAohmAmApGmAmAmAmAmknXmkmklTlTlRlRlTlQlQlQmFmFaalQbBlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQaaaaaaaamFmFlQmFlQlQmFmFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmelToYmkmAnlmkoZmkmkmCpamkpHoKpIoPouoKpJnTnTmApcmkmAmBmklTlTpdpepflQmFmFmFmFbBlQaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaamFlQlQlQlQlQlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTlTlTlTmkmAmAmvmAmAmkmApgmkoUnTnTphmApimkmkmkmCmkmkpjpBmkmDmkpdpkplbBmFbBlQmFlQmFmFlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlRlRlRlRlTlTmkmknmpmnVmAmCmAoWmCmAmAmApnmAmAmCmAmvmApomCmAmAmDmEnKpqprpflQmFlQmFmFmFlQmFlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlRlRlRlRlTlTmkmkmkmkmkmkpsoWmkmAmAmAmAmWmAmkmBmAmAmAmMmAmAmkmDmkpdpdptlQmFmFmFlQmFlQmFbBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQaaaaaaaamFmFlQmFlQlQmFmFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTmelToYmkmAmAmkoZmkmkmCpamkpHoKpIoPouoKpJnTnTmApcmkmAmBmklTlTpdpepflQmFmFmFmFbBlQaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaamFlQlQlQlQlQlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRlRlTlTlTlTlTmknlmAmvmAmAmkmApgmkoUnTnToQmApimkmkmkmCmkmkpjpBmkmDmkpdpkplbBmFbBlQmFlQmFmFlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlQlQmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlQlRlRlRlRlRlTlTmkmknmpmnVmAmCmAoWmCmAmAmApnmXmAmCmAmvmApomCmAmAmDmEoRpqprpflQmFlQmFmFmFlQmFlQlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlRlRlRlRlTlTmkmkmkmkmkmkpsoWmkmAmAmBmAmAmAmkmBmAmAmAmMmAmAmkmDmkpdpdptlQmFmFmFlQmFlQmFbBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaalQlRlRlTmelToYlTlTlTmkmkpamkmkmCmkmCmkmkmkmknmmAmAmkmNmNmklTlTlRlRlRaamFlQbBlQmFlQmFlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlRlTlTmalTlTlTlTmwpumDmAmAmkmAnynmnmmknmmAmAmkmkmkmklTlTlRlRlTlQaaaamFaamFmFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRaalRlRlTpwlTlTlTlTmkpamkpxmAmCmAmAmAmAmCmAmAmAmklTlToYlTlTlRlRlTmFaaaaaaaamFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTlTlTmelToYpymkmkmkmkmkmkmknlmknlmAmBmklTlTlTlTlTlRlRlTbBaaaaaaaamFaaaaaaaaaaaaaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlRlTlTmalTlTlTlTmwpumDmAmAmkmAnynmnmmknmmAnlmkmkmkmklTlTlRlRlTlQaaaamFaamFmFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQlRaalRlRlTpwlTlTlTlTmkpamkpxmAmCnlmAmAmAmCmAmAmAmklTlToYlTlTlRlRlTmFaaaaaaaamFmFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlTlTlTlTmelToYpymkmkmkmkmkmkmkmAmkmAmAmBmklTlTlTlTlTlRlRlTbBaaaaaaaamFaaaaaaaaaaaaaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRlRlRlRlRlTlTlTlTlTlToYlTlTlTlTmkmkmkmkmkmkmklTlTmalTlRlRlRlTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalPaaaaaaaaaaaaaaaalQlRlRlRlRlRlRlRlRlRlRlRlTlTlTlTlTmelTlToYlTlTlToYmepzlTlRlRlRlRpAlQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalRlRaaaalRlRlRlRlRlRlRlRlRlRlTlTlTlTlTlTlTlTlTlTlTlTlRlRlRlRlRpAaalQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 2fdd49bfb4b..93a0984393d 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -564,6 +564,7 @@ var/list/ghostteleportlocs = list() var/list/peaceful_visitors = list() var/peace_betrayed = FALSE var/detected_mech = FALSE + var/obj/machinery/computer/syndicate_depot/syndiecomms/comms_computer = null var/obj/structure/fusionreactor/reactor var/list/hostiles_dead = list() var/list/deployed_shields = list() @@ -596,8 +597,7 @@ var/list/ghostteleportlocs = list() something_looted = FALSE detected_mech = FALSE updateicon() - for(var/mob/living/M in guards_spawned) - qdel(M) + despawn_guards() guards_spawned = list() hostiles = list() hostiles_dead = list() @@ -686,6 +686,7 @@ var/list/ghostteleportlocs = list() if("syndicate" in M.faction) M.faction -= "syndicate" message_admins("- SYNDI DEPOT VISITOR: [ADMIN_FULLMONTY(M)]") + add_hostile(M) peaceful_visitors = list() updateicon() @@ -718,19 +719,27 @@ var/list/ghostteleportlocs = list() alert_log += "Code RED: [reason]" called_backup = TRUE lockout_computers() - if(!silent) - announce_here("Depot Code RED", reason) for(var/obj/machinery/door/poddoor/P in airlocks) if(P.density && P.id_tag == "syndi_depot_lvl2" && !P.operating) spawn(0) P.open() - spawn(0) - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "syndi_depot_backup") - var/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/S = new /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space(get_turf(L)) - S.name = "Syndicate Backup" - S.depotarea = src - guards_spawned |= S + if(!silent) + announce_here("Depot Code RED", reason) + + var/comms_online = FALSE + if(istype(comms_computer)) + if(!(comms_computer.stat & (NOPOWER|BROKEN))) + comms_online = TRUE + if(comms_online) + spawn(0) + for(var/obj/effect/landmark/L in landmarks_list) + if(L.name == "syndi_depot_backup") + var/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/S = new /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space(get_turf(L)) + S.name = "Syndicate Backup" + S.depotarea = src + guards_spawned |= S + else if(!silent) + announce_here("Depot Communications Offline", "Comms computer is damaged, destroyed or depowered. Unable to call in backup from Syndicate HQ.") updateicon() /area/syndicate_depot/proc/activate_self_destruct(var/reason, var/containment_failure, var/mob/user) @@ -745,6 +754,7 @@ var/list/ghostteleportlocs = list() activate_lockdown(TRUE) lockout_computers() updateicon() + despawn_guards() if(containment_failure) announce_here("Depot Code DELTA", reason) else @@ -823,6 +833,11 @@ var/list/ghostteleportlocs = list() qdel(S) deployed_shields = list() +/area/syndicate_depot/proc/despawn_guards() + for(var/mob/thismob in guards_spawned) + new /obj/effect/portal(get_turf(thismob)) + qdel(thismob) + guards_spawned = list() /area/syndicate_depot/proc/ghostlog(var/gmsg) if(istype(reactor)) @@ -835,7 +850,7 @@ var/list/ghostteleportlocs = list() log_game("Depot run: started: " + list_hostiles()) /area/syndicate_depot/proc/declare_finished() - if(!run_finished) + if(!run_finished && !used_self_destruct) run_finished = TRUE log_game("Depot run: finished successfully: " + list_hostiles()) diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm index f27d60df370..1dec79c5651 100644 --- a/code/game/machinery/Beacon.dm +++ b/code/game/machinery/Beacon.dm @@ -63,8 +63,9 @@ /obj/machinery/bluespace_beacon/syndicate syndicate = 1 + enabled = FALSE /obj/machinery/bluespace_beacon/syndicate/New() ..() - if(prob(50)) - enabled = FALSE \ No newline at end of file + if(!GAMEMODE_IS_NUCLEAR && prob(50)) + enabled = TRUE \ No newline at end of file diff --git a/code/game/machinery/computer/depot.dm b/code/game/machinery/computer/depot.dm index 0407919a603..288ea9b0f29 100644 --- a/code/game/machinery/computer/depot.dm +++ b/code/game/machinery/computer/depot.dm @@ -130,7 +130,7 @@ /obj/machinery/computer/syndicate_depot/doors/get_menu(var/mob/user) return {"Syndicate Depot Door Control Computer
-

Toggle Airlocks +

Toggle Airlock Emergency Access

Toggle Hidden Doors
"} @@ -198,6 +198,11 @@ alerts_when_broken = TRUE var/message_sent = FALSE +/obj/machinery/computer/syndicate_depot/syndiecomms/New() + . = ..() + if(depotarea) + depotarea.comms_computer = src + /obj/machinery/computer/syndicate_depot/syndiecomms/get_menu(var/mob/user) var/menu = "Syndicate Communications Relay
" menu += "

One-Time Uplink to Syndicate HQ: [message_sent ? "ALREADY USED" : "AVAILABLE (Open Channel)"]" @@ -401,9 +406,6 @@ icon_screen = "command" req_access = list() -/obj/machinery/computer/syndicate_depot/aiterminal/allowed(var/mob/user) - return 1 - /obj/machinery/computer/syndicate_depot/aiterminal/get_menu(var/mob/user) var/menutext = "Syndicate AI Terminal

" if(!istype(depotarea)) @@ -445,5 +447,35 @@ else menutext += "Visiting Agents: NONE" menutext += "

" + if(check_rights(R_ADMIN, 0, user)) + if(depotarea.on_peaceful) + menutext += "

ADMIN: (to end visitor mode, use comms console)" + else + menutext += "

ADMIN: (Reset Depot Alert Level)" + var/has_bot = FALSE + for(var/mob/living/simple_animal/bot/ed209/syndicate/B in depotarea.guards_spawned) + has_bot = TRUE + if(has_bot) + menutext += "

Sentry Bot: (issue recall order)" + else + menutext += "

Sentry Bot: (none present)" + return menutext - return menutext \ No newline at end of file +/obj/machinery/computer/syndicate_depot/aiterminal/primary(var/mob/user) + if(..()) + return + if(!check_rights(R_ADMIN, 0, user)) + return + if(depotarea) + depotarea.reset_alert() + to_chat(user, "Alert level reset.") + +/obj/machinery/computer/syndicate_depot/aiterminal/secondary(var/mob/user) + if(..()) + return + for(var/mob/living/simple_animal/bot/ed209/syndicate/B in depotarea.guards_spawned) + depotarea.guards_spawned -= B + new /obj/effect/portal(get_turf(B)) + to_chat(user, "[B] has been recalled.") + qdel(B) + raise_alert("Sentry bot removed via emergency recall.") \ No newline at end of file diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 82d5939bf57..e69fd0c30b3 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -336,7 +336,9 @@ /obj/machinery/door/airlock/hatch/syndicate/vault name = "syndicate vault hatch" req_access_txt = "151" - assemblytype = /obj/structure/door_assembly/door_assembly_highsecurity + icon = 'icons/obj/doors/airlocks/vault/vault.dmi' + overlays_file = 'icons/obj/doors/airlocks/vault/overlays.dmi' + assemblytype = /obj/structure/door_assembly/door_assembly_vault security_level = 6 hackProof = 1 aiControlDisabled = 1 diff --git a/code/game/objects/effects/spawners/random_spawners.dm b/code/game/objects/effects/spawners/random_spawners.dm index 65cf24d5ffb..4017e79813b 100644 --- a/code/game/objects/effects/spawners/random_spawners.dm +++ b/code/game/objects/effects/spawners/random_spawners.dm @@ -2,7 +2,6 @@ name = "random spawners" icon = 'icons/mob/screen_gen.dmi' icon_state = "x2" - color = "#00FF00" var/list/result = list( /turf/simulated/floor/plasteel = 1, /turf/simulated/floor/plating = 1, @@ -126,9 +125,7 @@ /obj/effect/spawner/random_spawners/syndicate/turret name = "50pc int turret" - icon = 'icons/obj/turrets.dmi' - icon_state = "syndieturret0" - color = "#FF0000" + icon_state = "x" result = list( /obj/machinery/porta_turret/syndicate/interior = 1 ) @@ -144,9 +141,8 @@ /obj/effect/spawner/random_spawners/syndicate/mob name = "50pc melee syndimob" - icon = 'icons/mob/animal.dmi' - icon_state = "syndicatemelee" - color = "#FF0000" + icon_state = "x" + color = "#333333" result = list( /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot = 1 ) @@ -155,12 +151,11 @@ // Traps /obj/effect/spawner/random_spawners/syndicate/trap - color = "#FF0000" + icon_state = "x" + color = "#000000" /obj/effect/spawner/random_spawners/syndicate/trap/pizzabomb name = "50pc trap pizza" - icon = 'icons/obj/food/food.dmi' - icon_state = "pizzabox1" spawn_nothing_percentage = 0 result = list( /obj/item/pizzabox/meat = 1, @@ -169,8 +164,6 @@ /obj/effect/spawner/random_spawners/syndicate/trap/medbot name = "50pc trap medibot" - icon = 'icons/obj/aibots.dmi' - icon_state = "medibot0" result = list( /mob/living/simple_animal/bot/medbot/syndicate/emagged = 1 ) @@ -183,8 +176,6 @@ /obj/effect/spawner/random_spawners/syndicate/trap/documents name = "66pc trapped documents" - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "docs_yellow" spawn_nothing_percentage = 0 result = list( /obj/item/documents/syndicate/yellow = 1, @@ -197,8 +188,7 @@ /obj/effect/spawner/random_spawners/syndicate/loot name = "common loot" - icon = 'icons/misc/debug_rebuild.dmi' - icon_state = "1" + icon_state = "x3" // Loot schema: costumes, toys, useless gimmick items, trapped items result = list( /obj/item/storage/toolbox/syndicate = 1, @@ -227,7 +217,6 @@ /obj/effect/spawner/random_spawners/syndicate/loot/level2 name = "rare loot" - icon_state = "2" // Loot schema: space gear, basic armor, basic ammo (10mm, rcd), drugs, more dangerous/useful gimmick items, lower-value minerals result = list( /obj/item/storage/box/syndie_kit/space = 1, @@ -238,33 +227,42 @@ /obj/item/storage/pill_bottle/happy = 1, /obj/item/storage/pill_bottle/zoom = 1, /obj/item/storage/pill_bottle/random_drug_bottle = 2, + /obj/item/storage/backpack/duffel/syndie/surgery = 1, /obj/item/clothing/shoes/syndigaloshes = 1, + /obj/item/storage/belt/military = 1, + /obj/item/clothing/under/chameleon = 1, + /obj/item/storage/backpack/satchel_flat = 1, /obj/item/rcd = 1, /obj/item/rcd_ammo = 1, /obj/item/stamp/chameleon = 1, /obj/item/flag/chameleon = 1, - /obj/item/stack/sheet/mineral/plasma = 1, - /obj/item/stack/sheet/mineral/silver = 1, - /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/lighter/zippo/gonzofist = 1, + /obj/item/stack/sheet/mineral/plasma{amount = 20} = 1, + /obj/item/stack/sheet/mineral/silver{amount = 20} = 1, + /obj/item/stack/sheet/mineral/gold{amount = 20} = 1 ) /obj/effect/spawner/random_spawners/syndicate/loot/level3 name = "officer loot" - icon_state = "3" // Loot schema: medkits, very useful devices (jammer, illegal upgrade, RCD), better quality ammo (AP, fire), basic weapons (pistol, empgrenade), high value ores (diamond, uranium) result = list( /obj/item/jammer = 1, /obj/item/storage/firstaid = 1, /obj/item/storage/firstaid/tactical = 1, + /obj/item/storage/box/syndie_kit/bonerepair = 1, /obj/item/gun/projectile/automatic/pistol = 1, /obj/item/stock_parts/cell/bluespace = 1, + /obj/item/card/emag = 1, + /obj/item/encryptionkey/binary = 1, + /obj/item/pinpointer/advpinpointer = 1, /obj/item/borg/upgrade/vtec = 1, /obj/item/borg/upgrade/syndicate = 1, /obj/item/borg/upgrade/selfrepair = 1, - /obj/item/stack/sheet/mineral/diamond = 1, - /obj/item/stack/sheet/mineral/uranium = 1, + /obj/item/stack/sheet/mineral/diamond{amount = 10} = 1, + /obj/item/stack/sheet/mineral/uranium{amount = 10} = 1, /obj/item/clothing/shoes/magboots/syndie/advance = 1, /obj/item/grenade/empgrenade = 1, + /obj/item/grenade/clown_grenade = 1, /obj/item/grenade/spawnergrenade/feral_cats = 1, /obj/item/ammo_box/magazine/m10mm/ap = 1, /obj/item/ammo_box/magazine/m10mm/fire = 1, @@ -275,7 +273,6 @@ ) /obj/effect/spawner/random_spawners/syndicate/loot/level4 name = "armory loot" - icon_state = "4" spawn_nothing_percentage = 0 // Loot schema: high-power weapons (m90, esword, ebow, revolver), devices that negate depot challenges (thermal glasses, chameleon device), explosives result = list( @@ -293,28 +290,26 @@ /obj/item/reagent_containers/hypospray/autoinjector/stimulants = 1, /obj/item/storage/box/syndie_kit/atmosgasgrenades = 1, /obj/item/grenade/syndieminibomb = 1, - /obj/item/grenade/plastic/x4 = 1, - + /obj/item/grenade/plastic/x4 = 1 ) // Layout-affecting spawns /obj/effect/spawner/random_spawners/syndicate/layout - color = "#0000FF" + icon_state = "x2" /obj/effect/spawner/random_spawners/syndicate/layout/door name = "50pc door 25pc falsewall 25pc wall" spawn_nothing_percentage = 0 result = list( - /obj/machinery/door/airlock/hatch/syndicate = 2, - /turf/simulated/wall/r_wall = 1, - /obj/structure/falsewall/reinforced = 1 + /obj/machinery/door/airlock/hatch/syndicate = 6, + /turf/simulated/wall/r_wall = 2, + /obj/structure/falsewall/reinforced = 2 ) /obj/effect/spawner/random_spawners/syndicate/layout/door/secret name = "50pc falsewall 50pc wall" - color = "#00FFFF" spawn_nothing_percentage = 0 result = list( /turf/simulated/wall/r_wall = 1, @@ -322,20 +317,17 @@ ) /obj/effect/spawner/random_spawners/syndicate/layout/door/vault - name = "50pc vaultdoor 25pc falsewall 25pc wall" - color = "#00FFFF" + name = "60pc vaultdoor 20pc falsewall 20pc wall" spawn_nothing_percentage = 0 result = list( - /obj/machinery/door/airlock/hatch/syndicate/vault = 2, - /turf/simulated/wall/r_wall = 1, - /obj/structure/falsewall/reinforced = 1 + /obj/machinery/door/airlock/hatch/syndicate/vault = 6, + /turf/simulated/wall/r_wall = 2, + /obj/structure/falsewall/reinforced = 2 ) /obj/effect/spawner/random_spawners/syndicate/layout/spacepod name = "50pc loot spacepod" - icon = 'icons/goonstation/48x48/pods.dmi' - icon_state = "pod_synd" result = list( /obj/spacepod/syndi = 1, /obj/spacepod/syndi/unlocked = 1 diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index bf9c5a67783..4562eb798dc 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -620,7 +620,8 @@ /obj/item/wormhole_jaunter/attack_self(mob/user) var/turf/device_turf = get_turf(user) - if(!device_turf || !is_teleport_allowed(device_turf.z)) + var/area/current_area = get_area(device_turf) + if(!device_turf || !is_teleport_allowed(device_turf.z) || current_area.tele_proof) to_chat(user, "You're having difficulties getting the [src.name] to work.") return else diff --git a/code/modules/mob/living/simple_animal/bot/syndicate.dm b/code/modules/mob/living/simple_animal/bot/syndicate.dm index d648a2a91dd..86ae4482ce5 100644 --- a/code/modules/mob/living/simple_animal/bot/syndicate.dm +++ b/code/modules/mob/living/simple_animal/bot/syndicate.dm @@ -24,6 +24,7 @@ var/stepsound = 'sound/mecha/mechstep.ogg' var/area/syndicate_depot/depotarea var/raised_alert = FALSE + var/pathing_failed = FALSE var/turf/spawn_turf /mob/living/simple_animal/bot/ed209/syndicate/New() @@ -198,7 +199,12 @@ /mob/living/simple_animal/bot/ed209/syndicate/start_patrol() if(tries >= BOT_STEP_MAX_RETRIES) - raise_alert("[src] unable to reach target destination.") + if(!pathing_failed) + pathing_failed = TRUE + var/failmsg = "Depot: [src] at [loc.x],[loc.y],[loc.z] lacks patrol target." + if(istype(patrol_target)) + failmsg = "Depot: [src] at [loc.x],[loc.y],[loc.z] cannot reach [patrol_target.x],[patrol_target.y]" + log_debug(failmsg) return ..() /mob/living/simple_animal/bot/ed209/syndicate/proc/raise_alert(var/reason) diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index d23a6349436..0353d938bc7 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -84,7 +84,7 @@ var/alert_on_timeout = FALSE var/alert_on_spacing = TRUE var/seen_enemy = FALSE - var/seen_enemy_name = "" + var/seen_enemy_name = null var/seen_revived_enemy = FALSE var/aggro_cycles = 0 var/scan_cycles = 0 @@ -148,7 +148,10 @@ /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/death() if(alert_on_death) - raise_alert("[name] has died in combat with [seen_enemy_name].") + if(seen_enemy_name) + raise_alert("[name] has died in combat with [seen_enemy_name].") + else + raise_alert("[name] has died.") if(shield_key && depotarea) depotarea.shields_down() if(depotarea && src in depotarea.guards_spawned) @@ -170,9 +173,11 @@ melee_block_chance = 60 /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory - name = "Syndicate Armory Officer" + name = "Syndicate Quartermaster" icon_state = "syndicatemeleespace" icon_living = "syndicatemeleespace" + 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