From 74a3631741564765a1aa4f6f1cac60e39996dcb3 Mon Sep 17 00:00:00 2001 From: datlo Date: Sun, 3 Feb 2019 06:40:50 +0000 Subject: [PATCH] compilin and mostly workin has runtimes due to body color need to wrap up commented procs --- .../RandomRuins/SpaceRuins/freegolems.dmm | 55 -- _maps/map_files/cyberiad/z2.dmm | 55 +- _maps/map_files/cyberiad/z3.dmm | 104 ++- _maps/map_files/cyberiad/z6.dmm | 3 +- _maps/map_files/generic/z5.dmm | 3 +- code/__DEFINES/gamemode.dm | 1 + code/controllers/configuration.dm | 13 +- code/game/area/Space Station 13 areas.dm | 5 +- .../game/machinery/computer/buildandrepair.dm | 3 + code/game/objects/items/blueprints.dm | 17 + .../objects/items/stacks/sheets/mineral.dm | 19 + code/game/objects/items/weapons/cards_ids.dm | 6 + .../objects/items/weapons/storage/boxes.dm | 12 + code/game/objects/structures/bedsheet_bin.dm | 5 + .../structures/crates_lockers/crates.dm | 13 + .../objects/structures/ghost_role_spawners.dm | 251 ------- .../ghost_role_spawners/golems.dm | 139 ++++ .../ghost_role_spawners/oldstation.dm | 110 +++ .../mission_code/ruins/freegolems.dm | 66 -- code/modules/mining/equipment_locker.dm | 2 +- code/modules/mining/mine_areas.dm | 3 + code/modules/mob/living/carbon/carbon.dm | 2 + .../mob/living/carbon/human/species/golem.dm | 644 ++++-------------- .../chemistry/recipes/slime_extracts.dm | 5 +- .../research/designs/autolathe_designs.dm | 10 + code/modules/research/research.dm | 10 + .../research/xenobiology/xenobiology.dm | 7 +- code/modules/shuttle/shuttle.dm | 8 +- code/modules/surgery/organs/vocal_cords.dm | 29 + config/example/config.txt | 6 + goon/browserassets/css/browserOutput-dark.css | 1 + goon/browserassets/css/browserOutput.css | 1 + icons/obj/items.dmi | Bin 144391 -> 144569 bytes icons/obj/surgery.dmi | Bin 37002 -> 37582 bytes paradise.dme | 4 +- 35 files changed, 675 insertions(+), 937 deletions(-) delete mode 100644 _maps/map_files/RandomRuins/SpaceRuins/freegolems.dmm delete mode 100644 code/game/objects/structures/ghost_role_spawners.dm create mode 100644 code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm create mode 100644 code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm delete mode 100644 code/modules/awaymissions/mission_code/ruins/freegolems.dm diff --git a/_maps/map_files/RandomRuins/SpaceRuins/freegolems.dmm b/_maps/map_files/RandomRuins/SpaceRuins/freegolems.dmm deleted file mode 100644 index e40a050fdca..00000000000 --- a/_maps/map_files/RandomRuins/SpaceRuins/freegolems.dmm +++ /dev/null @@ -1,55 +0,0 @@ -"a" = (/turf/template_noop,/area/template_noop) -"b" = (/turf/simulated/shuttle/wall,/area/shuttle/freegolem) -"c" = (/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"d" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/shuttle/freegolem) -"e" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_l"},/turf/space,/area/shuttle/freegolem) -"f" = (/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"g" = (/obj/machinery/door/airlock/shuttle,/obj/structure/fans/tiny,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"h" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"i" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"j" = (/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"k" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"l" = (/obj/machinery/computer/arcade/battle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"m" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"n" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"o" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"p" = (/obj/item/resonator,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"q" = (/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"r" = (/obj/machinery/mineral/ore_redemption,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"s" = (/obj/structure/statue/gold/rd{name = "statue of the Liberator"},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"t" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"u" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"v" = (/obj/machinery/door/airlock/shuttle,/obj/structure/fans/tiny,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"w" = (/obj/item/book/manual/research_and_development{name = "Sacred Text of the Liberator"; pixel_x = -4; pixel_y = 3},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/table/wood,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"x" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"y" = (/obj/item/resonator/upgraded,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"z" = (/obj/machinery/autolathe,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"A" = (/obj/structure/table/wood,/obj/machinery/reagentgrinder,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"B" = (/obj/machinery/computer/arcade/orion_trail,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"C" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"D" = (/obj/structure/table/wood,/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"E" = (/obj/structure/table/wood,/obj/structure/table/wood,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"F" = (/obj/structure/table/wood,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"G" = (/obj/structure/table/wood,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) -"H" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"I" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) -"J" = (/obj/structure/ore_box,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) - -(1,1,1) = {" -aaaaabbbbbbbbbbggbbb -aaaaabcccccccchccide -aaaaabccjccjcccjcide -aabbbbkkbbbbkkbbbbbb -aablfmffmfbffffnffde -aaofffffppkfffffffde -bbbkkbbbbbbqffffrbbb -bstffffmffkffffffkuv -bwfffxffffkffffffkxv -bbbkkbbbbbbqfffyzbbb -aaofffffppkffffffAde -aabBfxffxfbCffDEFGde -aabbbbkkbbbbkkbbbbbb -aaaaabccHccHcccHcIde -aaaaabJJJJJJJJhccIde -aaaaabbbbbbbbbbggbbb -"} diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 6e739834ab5..ce80bb9d1eb 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -329,6 +329,7 @@ "gq" = (/obj/item/trash/raisins,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "gr" = (/obj/item/beach_ball,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach) "gs" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)"; icon_state = "fakewindows"; dir = 5},/area/wizard_station) +"gt" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 8; height = 20; id = "freegolem_transit"; name = "free golem in transit"; width = 16},/turf/space/transit/horizontal{dir = 4},/area/space) "gu" = (/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/wizard_station) "gv" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) "gw" = (/obj/structure/showcase,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) @@ -1743,33 +1744,33 @@ aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNbWbWbWbWbWbWbWbWbWbW aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatatatatatxRxSxSxSxSxSxSxSxTatataIatataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruExMxVxUxXxWyaxYybxNuExMuTuTuTuTuTuTxNuAuAuAuAuAxMuTxNuAuAycuAxIxJxJxJydxJxJxJxKuEaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataJaJaJaKauauauauauauauauaKaKaKauaJataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSyjyiuTuTykuTuTuTuTuTyluTuTymymymymuTuTuTuTuTuTuTuTuTuTynxJxJxJxJxJxJypyoysxJxJxJyuaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataKauauauauauauauKqauauauauauauauaJataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuXuTyzuTuTuTuTuTuTuTuTyluTuTymymymymuTuTuTuTuTuTuTuTuTuTynxJxJxJxJxJyAyBypypyAxJxJyCaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmrmrmrmrmrmrmrmrmrmrmrmrmraNaNatbhauauauauauaubibibiauauauauauauaJataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvqyJuTuTuTyKuTuTuTuTuTyluTuTymymymymuTuTuTuTuTuTuTuTuTwUuAuAycuAyLxJxJyAyAyAxJxJyNuEaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmraNaNatbhauauauauauKvbibibiKvauauauauauaKataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquEwmyRyPyUySzayVzbwUuEwmuTuTuTuTuTuTwUuAuAwmuTwUuAuAuAuEvPaNwquAyLxJxJxJxJxJyNuEvPaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmrxQxPatbhauauauauauauKvKvKvauauauauauauauataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAuAuAuAuAuAuAuAuAuAuAwmuTuTwUuAuAuAuAuAzduAuAuAuEuEaNaNaNwquAyLxJxJxJyNuAvPaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryhyeatauauauauauauauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDvuEzezeuEaNuExhzfxhxhxhzfxhuEuEaNaNaNaNwquAxvxuxwuAvPaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryxywatauauaKaJaJaKauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruAuAuAuAxMuTuTuEaNuEzlxhxhGPxhxhzmuEuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNfwyDyIyFatatbkatatatatatatatatatatatatatbkatataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSuTuTuTuTuTuTuTuEaNuEzvGPxhxhxhGPzwuEuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryOyFatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvquTuTuTuTuTuTuTuEaNuEzzxhxhGPxhxhzAuEuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryFyFatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruAuAusaNwquuuBuBuCwmuTuTuEaNuEzDxhxhxhxhxhzEuEvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryFmratblblatatatatatatatatatatatatatblblatataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuraNaNuruEzJzIzKusaNaNaNaNaNuSuTuTuEaNwquAnZHbzMHboauAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjUjWjVjYjXkajZaNjUjWktkvkukajZaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNzTaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruAuAuAuAuEzYzUuEuAuAuAuAusaNvquTuTuEaNaNwquAHgHhHiuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwkykxkxkxkAkzaNkwkDkxkxkxkAkzaNaNaNmrmrmrmrmrmrmrmrmrmrmrmrmryFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruEAcAeAduEAfxhxhAguEAiAhAjAguAxMuTuTuEaNaNaNAkHuHvHwAkaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkEkGkFkIkHkNkMaNkEkGkOkIkPkNkMaNaNaNaNaNaNaNznfZfLyFyFyFyFyFyFyFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNArxhxhxhAsxhxhxhxhAtxhxhxhxhAtuTuTuTuEaNaNwquAuAAuuAuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNznfZyFyFyFyFyFzjyFyFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquEAyAAAzuEzDxhxhzEuEACABADzEuAwmuTuTuEaNaNaNwqaNaNaNvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVXLXMlmllaNkUlikVlkXMlmllaNaNaNaNaNaNaNzFgcyFyFyFyFzuztyFyFataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAuAuAzKAFAEuEuAuAuAuAvPaNuSuTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNmrmrmrzPmrzSyFzuzyyFyFataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwqaNaNwquEzJAGuEvPaNaNaNaNaNvquTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmrzZAbAamryFyFyFzCyFyFataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAvPaNuruuuBuBuCxMuTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNaNaNaNmrAlAlAmmrAnAoAoAoAoAoataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSuTuTuTuTuTuTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjUjWlLlNlMkajZaNjUjWlOlQlPkajZaNaNaNaNaNaNmrAlAvmrmraNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvquTuTuTuTuTuTwUuEvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwlRkxkxkxkAkzaNkwlSkxkxkxkAkzaNaNaNaNaNaNmrmrmrmrmraNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAvhAIvhuAuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkEkGlTkIlUkNkMaNkEkGlVkIlYkNkMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuEAJuTuTuTAKuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSuTuTuTuTALuSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVXLXMlmllaNkUlikVXLXMlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuXAOuTuTuTAPuXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvqAQuTuTuTARvqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAATASAVAUAWuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuuuBuCuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwqaNaNaNvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmrmrmrmrmrmrmrmrmrmrmrmrmraNaNatbhauauauauauaubibibiauauauauauauaJataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvqyJuTuTuTyKuTuTuTuTuTyluTuTymymymymuTuTuTuTuTuTuTuTuTwUuAuAycuAyLxJxJyAyAyAxJxJyNuEaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmraNaNatbhauauauauauKvbibibiKvauauauauauaKataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquEwmyRyPyUySzayVzbwUuEwmuTuTuTuTuTuTwUuAuAwmuTwUuAuAuAuEvPaNwquAyLxJxJxJxJxJyNuEvPaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmrxQxPatbhauauauauauauKvKvKvauauauauauauauataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAuAuAuAuAuAuAuAuAuAuAwmuTuTwUuAuAuAuAuAzduAuAuAuEuEaNaNaNwquAyLxJxJxJyNuAvPaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryhyeatauauauauauauauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNDvuEzezeuEaNuExhzfxhxhxhzfxhuEuEaNaNaNaNwquAxvxuxwuAvPaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryxywatauauaKaJaJaKauauauauauauauauauauauataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruAuAuAuAxMuTuTuEaNuEzlxhxhGPxhxhzmuEuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNfwyDyIyFatatbkatatatatatatatatatatatatatbkatataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSuTuTuTuTuTuTuTuEaNuEzvGPxhxhxhGPzwuEuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryOyFatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvquTuTuTuTuTuTuTuEaNuEzzxhxhGPxhxhzAuEuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryFyFatblblataNaNaNaNaNaNaNaNaNaNaNatblblataNaNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruAuAusaNwquuuBuBuCwmuTuTuEaNuEzDxhxhxhxhxhzEuEvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryFmratblblatatatatatatatatatatatatatblblatataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuraNaNuruEzJzIzKusaNaNaNaNaNuSuTuTuEaNwquAnZHbzMHboauAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjUjWjVjYjXkajZaNjUjWktkvkukajZaNaNaNmraNaNaNaNaNaNaNaNaNaNaNmryFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNzTaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruAuAuAuAuEzYzUuEuAuAuAuAusaNvquTuTuEaNaNwquAHgHhHiuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwkykxkxkxkAkzaNkwkDkxkxkxkAkzaNaNaNmrmrmrmrmrmrmrmrmrmrmrmrmryFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuruEAcAeAduEAfxhxhAguEAiAhAjAguAxMuTuTuEaNaNaNAkHuHvHwAkaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkEkGkFkIkHkNkMaNkEkGkOkIkPkNkMaNaNaNaNaNaNaNznfZfLyFyFyFyFyFyFyFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNArxhxhxhAsxhxhxhxhAtxhxhxhxhAtuTuTuTuEaNaNwquAuAAuuAuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqgtaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNznfZyFyFyFyFyFzjyFyFmraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquEAyAAAzuEzDxhxhzEuEACABADzEuAwmuTuTuEaNaNaNwqaNaNaNvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVXLXMlmllaNkUlikVlkXMlmllaNaNaNaNaNaNaNzFgcyFyFyFyFzuztyFyFataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAuAuAzKAFAEuEuAuAuAuAvPaNuSuTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNmrmrmrzPmrzSyFzuzyyFyFataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwqaNaNwquEzJAGuEvPaNaNaNaNaNvquTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNmrzZAbAamryFyFyFzCyFyFataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAvPaNuruuuBuBuCxMuTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjQjPjSjRjTaNaNaNjQjPjSjRjTaNaNaNaNaNaNaNmrAlAlAmmrAnAoAoAoAoAoataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSuTuTuTuTuTuTuTuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNjUjWlLlNlMkajZaNjUjWlOlQlPkajZaNaNaNaNaNaNmrAlAvmrmraNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvquTuTuTuTuTuTwUuEvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkwlRkxkxkxkAkzaNkwlSkxkxkxkAkzaNaNaNaNaNaNmrmrmrmrmraNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuAvhAIvhuAuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkEkGlTkIlUkNkMaNkEkGlVkIlYkNkMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuEAJuTuTuTAKuEaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkQkRkxkxkxkAkSaNkQkRkxkxkxkAkSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuSuTuTuTuTALuSaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNkUlikVXLXMlmllaNkUlikVXLXMlmllaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNuXAOuTuTuTAPuXaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNlylnlAlzlFaNaNaNlylnlAlzlFaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNvqAQuTuTuTARvqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLxLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAATASAVAUAWuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLFLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwquAuuuBuCuAvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNwqaNaNaNvPaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNatatatatatatatatatatatatatatatatatatatatataNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN diff --git a/_maps/map_files/cyberiad/z3.dmm b/_maps/map_files/cyberiad/z3.dmm index eeb59d4ea5d..a25deea1832 100644 --- a/_maps/map_files/cyberiad/z3.dmm +++ b/_maps/map_files/cyberiad/z3.dmm @@ -32,22 +32,72 @@ "aF" = (/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/tcommsat/entrance) "aG" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/tcommsat/entrance) "aH" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/camera{c_tag = "Telecomms Power Control"; dir = 2; network = list("Telecomms")},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"aI" = (/turf/simulated/mineral/random,/area/mine/dangerous/explored/golem) +"aJ" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored/golem) +"aK" = (/turf/simulated/mineral/random/high_chance,/area/mine/dangerous/explored/golem) +"aL" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/freegolem) +"aM" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/freegolem) +"aN" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; locked = 1},/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"aO" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall8"; tag = "icon-swall12"},/area/shuttle/freegolem) +"aP" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/freegolem) +"aQ" = (/obj/structure/closet/crate/golemgear,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"aR" = (/obj/item/storage/toolbox/mechanical,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"aS" = (/turf/simulated/shuttle/plating,/area/shuttle/freegolem) "aT" = (/obj/structure/lattice,/turf/space,/area/space) +"aU" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"aV" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/shuttle/freegolem) +"aW" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_l"},/turf/space,/area/shuttle/freegolem) +"aX" = (/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"aY" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/shuttle/freegolem) +"aZ" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "ba" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/space) "bb" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/space) "bc" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/space) "bd" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/space) +"be" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/freegolem) +"bf" = (/obj/machinery/computer/arcade/battle,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bg" = (/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bh" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "bi" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/space) "bj" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/space) "bk" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "bl" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/space) "bm" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/space) +"bn" = (/obj/effect/mob_spawn/human/golem/adamantine,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bo" = (/obj/effect/mob_spawn/human/golem/adamantine,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "bp" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"bq" = (/obj/machinery/mineral/equipment_vendor/golem,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"br" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; locked = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "bs" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/space) +"bt" = (/obj/item/resonator,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "bu" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/space) +"bv" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/freegolem) +"bw" = (/obj/machinery/light{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "bx" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/space) "by" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/space) "bz" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/space) +"bA" = (/obj/machinery/mineral/ore_redemption,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bB" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall4"; dir = 2},/area/shuttle/freegolem) +"bC" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc1"; tag = "icon-swall12"},/area/shuttle/freegolem) +"bD" = (/obj/structure/window/full/shuttle{icon_state = "16"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"bE" = (/obj/structure/statue/gold/rd{name = "statue of the Liberator"},/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bF" = (/obj/machinery/computer/shuttle/golem_ship,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bG" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bH" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bI" = (/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"; locked = 1},/obj/structure/fans/tiny,/obj/docking_port/mobile{dir = 8; dwidth = 8; height = 20; id = "freegolem"; name = "Free Golem Ship"; roundstart_move = "freegolem_transit"; width = 16},/obj/docking_port/stationary{dir = 8; dwidth = 8; height = 20; id = "freegolem_z3"; name = "Small Asteroid"; width = 16},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bJ" = (/obj/structure/window/full/shuttle{icon_state = "15"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) +"bK" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/table/wood,/obj/item/bedsheet/rd/royal_cape{layer = 3; pixel_x = 5; pixel_y = 9},/obj/item/book/manual/research_and_development{name = "Sacred Text of the Liberator"; pixel_x = -4; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bL" = (/obj/machinery/light,/obj/structure/chair/comfy/purp{icon_state = "comfychair"; dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bM" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/shuttle/freegolem) +"bO" = (/obj/item/resonator/upgraded,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bP" = (/obj/machinery/autolathe,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bQ" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/freegolem) +"bR" = (/obj/structure/table/wood,/obj/machinery/reagentgrinder,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bS" = (/obj/machinery/computer/arcade/orion_trail,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bT" = (/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bU" = (/obj/effect/mob_spawn/human/golem/adamantine,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"bV" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "bW" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "bX" = (/obj/machinery/power/solar,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/space) "bY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/space) @@ -121,6 +171,7 @@ "do" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "dp" = (/obj/structure/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "dq" = (/obj/machinery/computer/telecomms/server{network = list("tcommsat")},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"dr" = (/obj/structure/table/wood,/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "ds" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "dt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "du" = (/obj/structure/chair{dir = 4},/turf/simulated/floor/plasteel,/area/tcommsat/computer) @@ -164,19 +215,24 @@ "eg" = (/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eh" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber) "ei" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber) +"ej" = (/obj/structure/table/wood,/obj/structure/table/wood,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) +"ek" = (/obj/structure/table/wood,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "el" = (/obj/machinery/door/window/brigdoor{dir = 1; name = "Telecomms Server Access"; req_access_txt = "61"},/obj/machinery/door/window/brigdoor{dir = 2; name = "Telecomms Server Access"; req_access_txt = "61"},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber) "em" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/tcommsat/chamber) "en" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) "eo" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "ep" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) +"eq" = (/obj/structure/table/wood,/obj/item/areaeditor/golem,/obj/item/disk/design_disk/golem_shell,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/shuttle/freegolem) "er" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "es" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) "et" = (/obj/item/radio/intercom{pixel_y = 25},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eu" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "ev" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "ew" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Telecoms Sat. Central Compartment APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) +"ex" = (/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/freegolem) "ey" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "ez" = (/obj/machinery/camera{c_tag = "Telecomms Server Room North"; dir = 2; network = list("Telecomms")},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) +"eA" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) "eB" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eC" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eD" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/space) @@ -184,6 +240,7 @@ "eF" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/space) "eG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "eH" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) +"eI" = (/obj/structure/ore_box,/turf/simulated/shuttle/plating,/area/shuttle/freegolem) "eJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) "eK" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "eL" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) @@ -584,29 +641,29 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaMaMaMaMaMaMaMaMaMaNaNaMaMaOaIaIaIaIaIaKaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaQaQaQaQaQaQaQaQaRaSaSaUaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaSaSaXaSaSaXaSaSaSaXaSaUaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaMaMaYaZaZaMaMbeaMaZaZaMaMaMaMaMaOaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbgbhbgbgbnboaPbgbgbgbgbhbgbqaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrbgbgbgbgbgbtbtaZbgbgbgbgbgbgbgaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLaMaYaZaZaMaMaMaMaMbvbwbgbgbgbgbgbAbBbCaJaJaIaIaIaIaIaIaIaIaIaIaKaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDbEbFbgbgbgbgbGbgbgaZbgbgbgbgbgbgbgbHbIaJaJaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabJbKbLbgbgbgbgbgbgbgaZbgbgbgbgbgbgbgbMbraJaJaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaMbeaZaZaMaMaMaMaMbvbwbgbgbgbgbObPbBbQaJaJaIaIaIaIaIaIaIaIaIaIaIaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrbgbgbgbgbgbtbtaZbgbgbgbgbgbgbRaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbSbgbTbgbgbUboaPbVbgbgdrejekeqaVaWaIaIaIaIaIaIaKaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaMaMbeaZaZaMaMaYaMaZaZaMaMaMaMaMaOaIaIaIaIaIaIaIaIaIaIaKaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaSaSexaSaSexaSaSaSexaSeAaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPeIeIeIeIeIeIeIeIaRaSaSeAaVaWaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaMaMaMaMaMaMaMaMaMaNaNaMaMaOaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaaaaaIaIaIaIaaaaaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaaaaaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -633,4 +690,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm index 31394aca84c..7e23fe093e5 100644 --- a/_maps/map_files/cyberiad/z6.dmm +++ b/_maps/map_files/cyberiad/z6.dmm @@ -1159,6 +1159,7 @@ "wo" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk,/area/derelict/solar_control) "wp" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless/catwalk,/area/derelict/solar_control) "wq" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless/catwalk,/area/derelict/solar_control) +"wr" = (/obj/docking_port/stationary{dir = 8; dwidth = 8; height = 20; id = "freegolem_z6"; name = "Near USSP Station"; width = 16},/turf/space,/area/space) "ws" = (/obj/effect/landmark/burnturf,/turf/simulated/floor/plasteel/airless{icon_state = "white"},/area/derelict/arrival) "wu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plasteel,/area/derelict/eva{name = "Derelict Annex"}) "wv" = (/turf/simulated/floor/plasteel{tag = "icon-dark"; icon_state = "dark"},/area/derelict/crew_quarters) @@ -1401,7 +1402,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCsCsCsCsCaaoSaaoSaasCsCsCsCsCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoSaaoSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakhkhkhkhkhaaoSaaoSaakhkhkgzlzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakAvmvmvmvmvmrmwlrJwmrmwowozmzlzlzlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawraaaakAvmvmvmvmvmrmwlrJwmrmwowozmzlzlzlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCsCznsCsCaaoSaaoSaasCsCzozlzlaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoSaaoSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaakAwlaawmkyaaaaabaaaagUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index 6c7fd01c9b8..7f92e592cbf 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -565,6 +565,7 @@ "kS" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/eva) "kT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel,/area/mine/living_quarters) "kU" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"}) +"kV" = (/obj/docking_port/stationary{dir = 8; dwidth = 8; height = 20; id = "freegolem_z5"; name = "Near Mining Station"; width = 16},/turf/space,/area/space) "kW" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/rack,/obj/item/pickaxe,/turf/simulated/floor/plasteel,/area/mine/living_quarters) "kX" = (/turf/simulated/wall/r_wall,/area/mine/podbay) "kZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/mining/glass{name = "Mining Station Bridge"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/living_quarters) @@ -842,7 +843,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaeaeaeaeaeaeabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaeaeaeababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaabababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeakaeaeaeaeabaeaeaeaeabababaeaeaeaeaeaeaeaeaeaeaeadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadaeaeaeaeaeaeaeaeababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababaeaeababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakVaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababaeaeababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaiafaaaaaaaahBabababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababaeababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahamahajaaaahBababababaeaeaeaeaeaeakaeaeaeaeaeaeaeaeaeaeaeaeadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababaeabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalapanaoajaahBabababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeakaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaeabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/__DEFINES/gamemode.dm b/code/__DEFINES/gamemode.dm index 328904d3884..b1186ce1e0d 100644 --- a/code/__DEFINES/gamemode.dm +++ b/code/__DEFINES/gamemode.dm @@ -12,6 +12,7 @@ #define GAMEMODE_IS_NATIONS (ticker && istype(ticker.mode, /datum/game_mode/nations)) #define GAMEMODE_IS_NUCLEAR (ticker && istype(ticker.mode, /datum/game_mode/nuclear)) #define GAMEMODE_IS_REVOLUTION (ticker && istype(ticker.mode, /datum/game_mode/revolution)) +#define GAMEMODE_IS_WIZARD (ticker && istype(ticker.mode, /datum/game_mode/wizard)) //special roles // Distinct from the ROLE_X defines because some antags have multiple special roles but only one ban type diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 17f8fcd3865..14cd2bd4edd 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -67,6 +67,9 @@ var/assistantlimit = 0 //enables assistant limiting var/assistantratio = 2 //how many assistants to security members + var/prob_free_golems = 100 //chance for free golems spawners to appear roundstart + var/unrestricted_free_golems = FALSE //if true, free golems can appear on all roundtypes + var/traitor_objectives_amount = 2 var/shadowling_max_age = 0 @@ -277,6 +280,12 @@ if("jobs_have_minimal_access") config.jobs_have_minimal_access = 1 + if("prob_free_golems") + config.prob_free_golems = text2num(value) + + if("unrestricted_free_golems") + config.unrestricted_free_golems = TRUE + if("shadowling_max_age") config.shadowling_max_age = text2num(value) @@ -393,10 +402,10 @@ if("githuburl") config.githuburl = value - + if("discordurl") config.discordurl = value - + if("donationsurl") config.donationsurl = value diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 872b443c124..2dd4e4d93ad 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -169,7 +169,6 @@ var/list/ghostteleportlocs = list() music = "music/escape.ogg" icon_state = "shuttle2" - /area/shuttle/pod_1 name = "\improper Escape Pod One" music = "music/escape.ogg" @@ -461,6 +460,10 @@ var/list/ghostteleportlocs = list() /area/shuttle/trade/sol name = "Sol Freighter" +/area/shuttle/freegolem + name = "Free Golem Ship" + icon_state = "purple" + /area/airtunnel1/ // referenced in airtunnel.dm:759 /area/dummy/ // Referenced in engine.dm:261 diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 8e1e16e1fac..9060833d585 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -316,6 +316,9 @@ /obj/item/circuitboard/white_ship name = "circuit Board (White Ship)" build_path = /obj/machinery/computer/shuttle/white_ship +/obj/item/circuitboard/golem_ship + name = "circuit Board (Golem Ship)" + build_path = /obj/machinery/computer/shuttle/golem_ship /obj/item/circuitboard/shuttle/syndicate name = "circuit board (Syndicate Shuttle)" build_path = /obj/machinery/computer/shuttle/syndicate diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 315eacb8f95..b6018c65626 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -68,6 +68,22 @@ ..() qdel(src) +//free golem blueprints, like permit but can claim as much as needed + +/obj/item/areaeditor/golem + name = "Golem Land Claim" + desc = "Used to define new areas in space." + fluffnotice = "Praise the Liberator!" + +/obj/item/areaeditor/golem/attack_self(mob/user) + . = ..() + var/area/A = get_area() + if(get_area_type() == AREA_STATION) + . += "

According to the [src], you are now in \"[sanitize(A.name)]\".

" + var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500) + popup.set_content(.) + popup.open() + onclose(usr, "blueprints") //Station blueprints!!! /obj/item/areaeditor/blueprints @@ -312,3 +328,4 @@ name = "station schematics" desc = "A digital copy of the station blueprints stored in your memory." fluffnotice = "Intellectual Property of Nanotrasen. For use in engineering cyborgs only. Wipe from memory upon departure from the station." + diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 5c6038e46c2..615882021b4 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -11,6 +11,8 @@ Mineral Sheets - Tranqillite - Enriched Uranium - Platinum + - Alien Alloy + - Adamantine */ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \ @@ -102,6 +104,10 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \ new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \ ) +var/global/list/datum/stack_recipe/adamantine_recipes = list( + new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount = 1, res_amount = 1), \ + ) + /obj/item/stack/sheet/mineral force = 5 throwforce = 5 @@ -301,3 +307,16 @@ var/global/list/datum/stack_recipe/plastitanium_recipes = list ( /obj/item/stack/sheet/mineral/abductor/New(loc, amount=null) recipes = abductor_recipes ..() + +/obj/item/stack/sheet/mineral/adamantine + name = "adamantine" + desc = "A strange mineral used in the construction of sentient golems." + icon_state = "sheet-adamantine" + singular_name = "adamantine sheet" + origin_tech = "materials=5" + merge_type = /obj/item/stack/sheet/mineral/adamantine + wall_allowed = FALSE + +/obj/item/stack/sheet/mineral/adamantine/New(loc, amount = null) + recipes = adamantine_recipes + ..() diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 1179c36c5f5..a4ffcb72744 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -685,6 +685,12 @@ icon_state = "cargo" access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) +/obj/item/card/id/mining + name = "Mining ID" + registered_name = null + icon_state = "cargo" + access = list(access_mining, access_mint, access_mining_station, access_mailsorting, access_maint_tunnels, access_mineral_storeroom) + /obj/item/card/id/engineering name = "Engineering ID" registered_name = "Engineer" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index acea165b9ae..cfa33544f98 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -1003,6 +1003,18 @@ desc = "A colorful cardboard box for the clown" icon_state = "box_clown" +/obj/item/storage/box/rndboards + name = "the Liberator's legacy" + desc = "A box containing a gift for worthy golems." + +/obj/item/storage/box/rndboards/New() + ..() + contents = list() + new /obj/item/circuitboard/protolathe(src) + new /obj/item/circuitboard/destructive_analyzer(src) + new /obj/item/circuitboard/circuit_imprinter(src) + new /obj/item/circuitboard/rdconsole/public(src) + #undef NODESIGN #undef NANOTRASEN #undef SYNDI diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 7051b9cf342..61113a4864a 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -119,6 +119,11 @@ LINEN BINS dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") nightmare_messages = list("toxins full of plasma", "UPGRADE THE SLEEPERS", "rogue ai") +/obj/item/bedsheet/rd/royal_cape + name = "Royal Cape of the Liberator" + desc = "Majestic." + dream_messages = list("mining", "stone", "a golem", "freedom", "doing whatever") + /obj/item/bedsheet/medical name = "medical blanket" desc = "It's a sterilized* blanket commonly used in the Medbay. *Sterilization is voided if a virologist is present onboard the station." diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index c98fe24aa57..e32111e3a99 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -642,3 +642,16 @@ if(prob(10)) new /obj/item/bikehorn/rubberducky(src) ..() + +//crates of gear in the free golem ship +/obj/structure/closet/crate/golemgear/New() + ..() + new /obj/item/storage/backpack/industrial(src) + new /obj/item/storage/backpack/satchel_eng(src) + new /obj/item/shovel(src) + new /obj/item/pickaxe(src) + new /obj/item/t_scanner/adv_mining_scanner/lesser(src) + new /obj/item/storage/bag/ore(src) + new /obj/item/clothing/glasses/meson(src) + new /obj/item/card/id/mining(src) + new /obj/item/flashlight/lantern(src) \ No newline at end of file diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm deleted file mode 100644 index 7bb0e94e2a4..00000000000 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ /dev/null @@ -1,251 +0,0 @@ -//Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse. - -/obj/effect/mob_spawn/human/oldsec - name = "old cryogenics pod" - desc = "A humming cryo pod. You can barely recognise a security uniform underneath the built up ice. The machine is attempting to wake up its occupant." - mob_name = "a security officer" - icon = 'icons/obj/cryogenic2.dmi' - icon_state = "sleeper" - roundstart = FALSE - death = FALSE - random = TRUE - mob_species = /datum/species/human - flavour_text = "You are a security officer working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ - cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ - your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ - Work as a team with your fellow survivors and do not abandon them." - uniform = /obj/item/clothing/under/retro/security - shoes = /obj/item/clothing/shoes/jackboots - id = /obj/item/card/id/away/old/sec - r_pocket = /obj/item/restraints/handcuffs - l_pocket = /obj/item/flash - assignedrole = "Ancient Crew" - -/obj/effect/mob_spawn/human/oldsec/Destroy() - new /obj/structure/showcase/machinery/oldpod/used(drop_location()) - return ..() - -/obj/effect/mob_spawn/human/oldmed - name = "old cryogenics pod" - desc = "A humming cryo pod. You can barely recognise a medical uniform underneath the built up ice. The machine is attempting to wake up its occupant." - mob_name = "a medical doctor" - icon = 'icons/obj/cryogenic2.dmi' - icon_state = "sleeper" - roundstart = FALSE - death = FALSE - random = TRUE - mob_species = /datum/species/human - flavour_text = "You are a medical working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ - cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ - your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ - Work as a team with your fellow survivors and do not abandon them." - uniform = /obj/item/clothing/under/retro/medical - shoes = /obj/item/clothing/shoes/black - id = /obj/item/card/id/away/old/med - l_pocket = /obj/item/stack/medical/ointment - r_pocket = /obj/item/stack/medical/ointment - assignedrole = "Ancient Crew" - -/obj/effect/mob_spawn/human/oldmed/Destroy() - new /obj/structure/showcase/machinery/oldpod/used(drop_location()) - return ..() - -/obj/effect/mob_spawn/human/oldeng - name = "old cryogenics pod" - desc = "A humming cryo pod. You can barely recognise an engineering uniform underneath the built up ice. The machine is attempting to wake up its occupant." - mob_name = "an engineer" - icon = 'icons/obj/cryogenic2.dmi' - icon_state = "sleeper" - roundstart = FALSE - death = FALSE - random = TRUE - mob_species = /datum/species/human - flavour_text = "You are an engineer working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ - cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ - your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ - Work as a team with your fellow survivors and do not abandon them." - uniform = /obj/item/clothing/under/retro/engineering - shoes = /obj/item/clothing/shoes/workboots - id = /obj/item/card/id/away/old/eng - gloves = /obj/item/clothing/gloves/color/fyellow/old - l_pocket = /obj/item/tank/emergency_oxygen - assignedrole = "Ancient Crew" - -/obj/effect/mob_spawn/human/oldeng/Destroy() - new /obj/structure/showcase/machinery/oldpod/used(drop_location()) - return ..() - -/obj/effect/mob_spawn/human/oldsci - name = "old cryogenics pod" - desc = "A humming cryo pod. You can barely recognise a science uniform underneath the built up ice. The machine is attempting to wake up its occupant." - mob_name = "a scientist" - icon = 'icons/obj/cryogenic2.dmi' - icon_state = "sleeper" - roundstart = FALSE - death = FALSE - random = TRUE - mob_species = /datum/species/human - flavour_text = "You are a scientist working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ - cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ - your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ - Work as a team with your fellow survivors and do not abandon them." - uniform = /obj/item/clothing/under/retro/science - shoes = /obj/item/clothing/shoes/laceup - id = /obj/item/card/id/away/old/sci - l_pocket = /obj/item/stack/medical/bruise_pack - assignedrole = "Ancient Crew" - -/obj/effect/mob_spawn/human/oldsci/Destroy() - new /obj/structure/showcase/machinery/oldpod/used(drop_location()) - return ..() - -/obj/structure/showcase/machinery/oldpod - name = "damaged cryogenic pod" - desc = "A damaged cryogenic pod long since lost to time, including its former occupant..." - icon = 'icons/obj/cryogenic2.dmi' - icon_state = "sleeper-open" - -/obj/structure/showcase/machinery/oldpod/used - name = "opened cryogenic pod" - desc = "A cryogenic pod that has recently discharged its occupant. The pod appears non-functional." - -//Golem shells: Spawns in Free Golem ships in lavaland. Ghosts become mineral golems and are advised to spread personal freedom. - -/obj/item/golem_shell - name = "incomplete free golem shell" - icon = 'icons/obj/wizard.dmi' - icon_state = "construct" - desc = "The incomplete body of a golem. Add ten sheets of any mineral to finish." - var/shell_type = /obj/effect/mob_spawn/human/golem - var/has_owner = FALSE //if the resulting golem obeys someone - w_class = WEIGHT_CLASS_BULKY - -/obj/item/golem_shell/attackby(obj/item/I, mob/user, params) - ..() - var/static/list/golem_shell_species_types = list( - /obj/item/stack/sheet/metal = /datum/species/golem, - /obj/item/stack/sheet/glass = /datum/species/golem/glass, - /obj/item/stack/sheet/plasteel = /datum/species/golem/plasteel, - /obj/item/stack/sheet/mineral/sandstone = /datum/species/golem/sand, - /obj/item/stack/sheet/mineral/plasma = /datum/species/golem/plasma, - /obj/item/stack/sheet/mineral/diamond = /datum/species/golem/diamond, - /obj/item/stack/sheet/mineral/gold = /datum/species/golem/gold, - /obj/item/stack/sheet/mineral/silver = /datum/species/golem/silver, - /obj/item/stack/sheet/mineral/uranium = /datum/species/golem/uranium, - /obj/item/stack/sheet/mineral/bananium = /datum/species/golem/bananium, - /obj/item/stack/sheet/mineral/tranquillite = /datum/species/golem/tranquillite, - /obj/item/stack/sheet/mineral/titanium = /datum/species/golem/titanium, - /obj/item/stack/sheet/mineral/plastitanium = /datum/species/golem/plastitanium, - /obj/item/stack/sheet/mineral/abductor = /datum/species/golem/alloy, - /obj/item/stack/sheet/mineral/wood = /datum/species/golem/wood, - /obj/item/stack/sheet/bluespace_crystal = /datum/species/golem/bluespace, - /obj/item/stack/sheet/runed_metal = /datum/species/golem/runic, - /obj/item/stack/medical/gauze = /datum/species/golem/cloth, - /obj/item/stack/sheet/cloth = /datum/species/golem/cloth, - /obj/item/stack/sheet/plastic = /datum/species/golem/plastic, - /obj/item/stack/tile/brass = /datum/species/golem/clockwork, - /obj/item/stack/sheet/cardboard = /datum/species/golem/cardboard, - /obj/item/stack/sheet/leather = /datum/species/golem/leather, - /obj/item/stack/sheet/bone = /datum/species/golem/bone) - - if(istype(I, /obj/item/stack)) - var/obj/item/stack/O = I - var/species = golem_shell_species_types[O.merge_type] - if(species) - if(O.use(10)) - to_chat(user, "You finish up the golem shell with ten sheets of [O].") - new shell_type(get_turf(src), species, user) - qdel(src) - else - to_chat(user, "You need at least ten sheets to finish a golem.") - else - to_chat(user, "You can't build a golem out of this kind of material.") - -/obj/effect/mob_spawn/human/golem - name = "inert free golem shell" - desc = "A humanoid shape, empty, lifeless, and full of potential." - mob_name = "a free golem" - icon = 'icons/obj/wizard.dmi' - icon_state = "construct" - mob_species = /datum/species/golem - roundstart = FALSE - death = FALSE - anchored = FALSE - move_resist = MOVE_FORCE_NORMAL - density = FALSE - var/has_owner = FALSE - var/can_transfer = TRUE //if golems can switch bodies to this new shell - var/mob/living/owner = null //golem's owner if it has one - flavour_text = "You are a Free Golem. Your family worships The Liberator. In his infinite and divine wisdom, he set your clan free to \ - travel the stars with a single declaration: \"Yeah go do whatever.\" Though you are bound to the one who created you, it is customary in your society to repeat those same words to newborn \ - golems, so that no golem may ever be forced to serve again." - -/obj/effect/mob_spawn/human/golem/Initialize(mapload, datum/species/golem/species = null, mob/creator = null) - if(species) //spawners list uses object name to register so this goes before ..() - name += " ([initial(species.prefix)])" - mob_species = species - . = ..() - var/area/A = get_area(src) - if(!mapload && A) - notify_ghosts("\A [initial(species.prefix)] golem shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_GOLEM) - if(has_owner && creator) - flavour_text = "You are a Golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \ - Serve [creator], and assist [creator.p_them()] in completing [creator.p_their()] goals at any cost." - owner = creator - -/obj/effect/mob_spawn/human/golem/special(mob/living/new_spawn, name) - var/datum/species/golem/X = mob_species - to_chat(new_spawn, "[initial(X.info_text)]") - if(!owner) - to_chat(new_spawn, "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked.") - else - new_spawn.mind.store_memory("Serve [owner.real_name], your creator.") - new_spawn.mind.enslave_mind_to_creator(owner) - log_game("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].") - log_admin("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].") - if(ishuman(new_spawn)) - var/mob/living/carbon/human/H = new_spawn - if(has_owner) - var/datum/species/golem/G = H.dna.species - G.owner = owner - H.set_cloned_appearance() - if(!name) - if(has_owner) - H.fully_replace_character_name(null, "[initial(X.prefix)] Golem ([rand(1,999)])") - else - H.fully_replace_character_name(null, H.dna.species.random_name()) - else - H.fully_replace_character_name(null, name) - if(has_owner) - new_spawn.mind.assigned_role = "Servant Golem" - else - new_spawn.mind.assigned_role = "Free Golem" - -/obj/effect/mob_spawn/human/golem/attack_hand(mob/user) - . = ..() - if(.) - return - if(isgolem(user) && can_transfer) - var/transfer_choice = alert("Transfer your soul to [src]? (Warning, your old body will die!)",,"Yes","No") - if(transfer_choice != "Yes") - return - if(QDELETED(src) || uses <= 0) - return - log_game("[key_name(user)] golem-swapped into [src]") - user.visible_message("A faint light leaves [user], moving to [src] and animating it!","You leave your old body behind, and transfer into [src]!") - show_flavour = FALSE - create(ckey = user.ckey,name = user.real_name) - user.death() - return - -/obj/effect/mob_spawn/human/golem/servant - has_owner = TRUE - name = "inert servant golem shell" - mob_name = "a servant golem" - -/obj/effect/mob_spawn/human/golem/adamantine - name = "dust-caked free golem shell" - desc = "A humanoid shape, empty, lifeless, and full of potential." - mob_name = "a free golem" - can_transfer = FALSE - mob_species = /datum/species/golem/adamantine diff --git a/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm b/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm new file mode 100644 index 00000000000..07fb8ab92c5 --- /dev/null +++ b/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm @@ -0,0 +1,139 @@ +//Golem shells: Spawns in Free Golem ships in lavaland, or through xenobiology adamantine extract. +//Xenobiology golems are slaved to their creator. + +/obj/item/golem_shell + name = "incomplete free golem shell" + icon = 'icons/obj/wizard.dmi' + icon_state = "construct" + desc = "The incomplete body of a golem. Add ten sheets of any mineral to finish." + var/shell_type = /obj/effect/mob_spawn/human/golem + w_class = WEIGHT_CLASS_BULKY + +/obj/item/golem_shell/servant + name = "incomplete servant golem shell" + shell_type = /obj/effect/mob_spawn/human/golem/servant + +/obj/item/golem_shell/attackby(obj/item/I, mob/user, params) + ..() + var/static/list/golem_shell_species_types = list( + /obj/item/stack/sheet/metal = /datum/species/golem, + /obj/item/stack/sheet/glass = /datum/species/golem/glass, + /obj/item/stack/sheet/plasteel = /datum/species/golem/plasteel, + /obj/item/stack/sheet/mineral/sandstone = /datum/species/golem/sand, + /obj/item/stack/sheet/mineral/plasma = /datum/species/golem/plasma, + /obj/item/stack/sheet/mineral/diamond = /datum/species/golem/diamond, + /obj/item/stack/sheet/mineral/gold = /datum/species/golem/gold, + /obj/item/stack/sheet/mineral/silver = /datum/species/golem/silver, + /obj/item/stack/sheet/mineral/uranium = /datum/species/golem/uranium, + /obj/item/stack/sheet/mineral/bananium = /datum/species/golem/bananium, + /obj/item/stack/sheet/mineral/tranquillite = /datum/species/golem/tranquillite, + /obj/item/stack/sheet/mineral/titanium = /datum/species/golem/titanium, + /obj/item/stack/sheet/mineral/plastitanium = /datum/species/golem/plastitanium, + /obj/item/stack/sheet/mineral/abductor = /datum/species/golem/alloy, + /obj/item/stack/sheet/wood = /datum/species/golem/wood, + /obj/item/stack/sheet/bluespace_crystal = /datum/species/golem/bluespace, + /obj/item/stack/sheet/mineral/adamantine = /datum/species/golem/adamantine, + /obj/item/stack/sheet/plastic = /datum/species/golem/plastic) + + if(istype(I, /obj/item/stack)) + var/obj/item/stack/O = I + var/species = golem_shell_species_types[O.merge_type] + if(species) + if(O.use(10)) + to_chat(user, "You finish up the golem shell with ten sheets of [O].") + new shell_type(get_turf(src), species, user) + qdel(src) + else + to_chat(user, "You need at least ten sheets to finish a golem.") + else + to_chat(user, "You can't build a golem out of this kind of material.") + +/obj/effect/mob_spawn/human/golem + name = "inert free golem shell" + desc = "A humanoid shape, empty, lifeless, and full of potential." + mob_name = "a free golem" + icon = 'icons/obj/wizard.dmi' + icon_state = "construct" + mob_species = /datum/species/golem + roundstart = FALSE + death = FALSE + anchored = FALSE + move_resist = MOVE_FORCE_NORMAL + density = FALSE + var/has_owner = FALSE + var/can_transfer = TRUE //if golems can switch bodies to this new shell + var/mob/living/owner = null //golem's owner if it has one + flavour_text = "You are a Free Golem. Your family worships The Liberator. In his infinite and divine wisdom, he set your clan free to \ + travel the stars with a single declaration: \"Yeah go do whatever.\" Though you are bound to the one who created you, it is customary in your society to repeat those same words to newborn \ + golems, so that no golem may ever be forced to serve again." + +/obj/effect/mob_spawn/human/golem/Initialize(mapload, datum/species/golem/species = null, mob/creator = null) + if(species) //spawners list uses object name to register so this goes before ..() + name += " ([initial(species.prefix)])" + mob_species = species + . = ..() + var/area/A = get_area(src) + if(!mapload && A) + notify_ghosts("\A [initial(species.prefix)] golem shell has been completed in [A.name].", source = src) + if(has_owner && creator) + flavour_text = "You are a Golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \ + Serve [creator], and assist [creator.p_them()] in completing [creator.p_their()] goals at any cost." + owner = creator + +/obj/effect/mob_spawn/human/golem/special(mob/living/new_spawn, name) + var/datum/species/golem/X = mob_species + to_chat(new_spawn, "[initial(X.info_text)]") + if(!owner) + to_chat(new_spawn, "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked.") + else + new_spawn.mind.store_memory("Serve [owner.real_name], your creator.") + log_game("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].") + log_admin("[key_name(new_spawn)] possessed a golem shell enslaved to [key_name(owner)].") + if(ishuman(new_spawn)) + var/mob/living/carbon/human/H = new_spawn + if(has_owner) + var/datum/species/golem/G = H.dna.species + G.owner = owner + if(!name) + H.rename_character(null, H.dna.species.get_random_name()) + else + H.rename_character(null, name) + if(has_owner) + new_spawn.mind.assigned_role = "Servant Golem" + else + new_spawn.mind.assigned_role = "Free Golem" + +/obj/effect/mob_spawn/human/golem/attack_hand(mob/user) + . = ..() + if(.) + return + if(isgolem(user) && can_transfer) + var/transfer_choice = alert("Transfer your soul to [src]? (Warning, your old body will die!)",,"Yes","No") + if(transfer_choice != "Yes") + return + if(QDELETED(src) || uses <= 0) + return + log_game("[key_name(user)] golem-swapped into [src]") + user.visible_message("A faint light leaves [user], moving to [src] and animating it!","You leave your old body behind, and transfer into [src]!") + create(ckey = user.ckey, name = user.real_name) + user.death() + return + +/obj/effect/mob_spawn/human/golem/servant + has_owner = TRUE + name = "inert servant golem shell" + mob_name = "a servant golem" + +/obj/effect/mob_spawn/human/golem/adamantine + name = "dust-caked free golem shell" + desc = "A humanoid shape, empty, lifeless, and full of potential." + mob_name = "a free golem" + can_transfer = FALSE + mob_species = /datum/species/golem/adamantine + +/obj/effect/mob_spawn/human/golem/adamantine/New() //check config to see if we allow free golems to spawn + ..() + if(!config.unrestricted_free_golems && (GAMEMODE_IS_BLOB || GAMEMODE_IS_NUCLEAR || GAMEMODE_IS_WIZARD)) + qdel(src) + else if(!prob(config.prob_free_golems)) + qdel(src) \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm b/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm new file mode 100644 index 00000000000..8dc3692179e --- /dev/null +++ b/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm @@ -0,0 +1,110 @@ +//Ancient cryogenic sleepers. Players become NT crewmen from a hundred year old space station, now on the verge of collapse. + +/obj/effect/mob_spawn/human/oldsec + name = "old cryogenics pod" + desc = "A humming cryo pod. You can barely recognise a security uniform underneath the built up ice. The machine is attempting to wake up its occupant." + mob_name = "a security officer" + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper" + roundstart = FALSE + death = FALSE + random = TRUE + mob_species = /datum/species/human + flavour_text = "You are a security officer working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ + cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ + your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ + Work as a team with your fellow survivors and do not abandon them." + uniform = /obj/item/clothing/under/retro/security + shoes = /obj/item/clothing/shoes/jackboots + id = /obj/item/card/id/away/old/sec + r_pocket = /obj/item/restraints/handcuffs + l_pocket = /obj/item/flash + assignedrole = "Ancient Crew" + +/obj/effect/mob_spawn/human/oldsec/Destroy() + new /obj/structure/showcase/machinery/oldpod/used(drop_location()) + return ..() + +/obj/effect/mob_spawn/human/oldmed + name = "old cryogenics pod" + desc = "A humming cryo pod. You can barely recognise a medical uniform underneath the built up ice. The machine is attempting to wake up its occupant." + mob_name = "a medical doctor" + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper" + roundstart = FALSE + death = FALSE + random = TRUE + mob_species = /datum/species/human + flavour_text = "You are a medical working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ + cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ + your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ + Work as a team with your fellow survivors and do not abandon them." + uniform = /obj/item/clothing/under/retro/medical + shoes = /obj/item/clothing/shoes/black + id = /obj/item/card/id/away/old/med + l_pocket = /obj/item/stack/medical/ointment + r_pocket = /obj/item/stack/medical/ointment + assignedrole = "Ancient Crew" + +/obj/effect/mob_spawn/human/oldmed/Destroy() + new /obj/structure/showcase/machinery/oldpod/used(drop_location()) + return ..() + +/obj/effect/mob_spawn/human/oldeng + name = "old cryogenics pod" + desc = "A humming cryo pod. You can barely recognise an engineering uniform underneath the built up ice. The machine is attempting to wake up its occupant." + mob_name = "an engineer" + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper" + roundstart = FALSE + death = FALSE + random = TRUE + mob_species = /datum/species/human + flavour_text = "You are an engineer working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ + cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ + your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ + Work as a team with your fellow survivors and do not abandon them." + uniform = /obj/item/clothing/under/retro/engineering + shoes = /obj/item/clothing/shoes/workboots + id = /obj/item/card/id/away/old/eng + gloves = /obj/item/clothing/gloves/color/fyellow/old + l_pocket = /obj/item/tank/emergency_oxygen + assignedrole = "Ancient Crew" + +/obj/effect/mob_spawn/human/oldeng/Destroy() + new /obj/structure/showcase/machinery/oldpod/used(drop_location()) + return ..() + +/obj/effect/mob_spawn/human/oldsci + name = "old cryogenics pod" + desc = "A humming cryo pod. You can barely recognise a science uniform underneath the built up ice. The machine is attempting to wake up its occupant." + mob_name = "a scientist" + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper" + roundstart = FALSE + death = FALSE + random = TRUE + mob_species = /datum/species/human + flavour_text = "You are a scientist working for Nanotrasen, stationed onboard a state of the art research station. You vaguely recall rushing into a \ + cryogenics pod due to an oncoming radiation storm. The last thing you remember is the station's Artificial Program telling you that you would only be asleep for eight hours. As you open \ + your eyes, everything seems rusted and broken, a dark feeling swells in your gut as you climb out of your pod. \ + Work as a team with your fellow survivors and do not abandon them." + uniform = /obj/item/clothing/under/retro/science + shoes = /obj/item/clothing/shoes/laceup + id = /obj/item/card/id/away/old/sci + l_pocket = /obj/item/stack/medical/bruise_pack + assignedrole = "Ancient Crew" + +/obj/effect/mob_spawn/human/oldsci/Destroy() + new /obj/structure/showcase/machinery/oldpod/used(drop_location()) + return ..() + +/obj/structure/showcase/machinery/oldpod + name = "damaged cryogenic pod" + desc = "A damaged cryogenic pod long since lost to time, including its former occupant..." + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper-open" + +/obj/structure/showcase/machinery/oldpod/used + name = "opened cryogenic pod" + desc = "A cryogenic pod that has recently discharged its occupant. The pod appears non-functional." \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ruins/freegolems.dm b/code/modules/awaymissions/mission_code/ruins/freegolems.dm deleted file mode 100644 index f67ccd91f03..00000000000 --- a/code/modules/awaymissions/mission_code/ruins/freegolems.dm +++ /dev/null @@ -1,66 +0,0 @@ -//Items - -/obj/item/bedsheet/rd/royal_cape - name = "Royal Cape of the Liberator" - desc = "Majestic." - dream_messages = list("mining", "stone", "a golem", "freedom", "doing whatever") - -/obj/item/storage/box/rndboards - name = "the Liberator's legacy" - desc = "A box containing a gift for worthy golems." - -/obj/item/storage/box/rndboards/New() - ..() - contents = list() - new /obj/item/circuitboard/machine/protolathe(src) - new /obj/item/circuitboard/machine/destructive_analyzer(src) - new /obj/item/circuitboard/machine/circuit_imprinter(src) - new /obj/item/circuitboard/computer/rdconsole(src) - -/obj/item/areaeditor/golem - name = "golem land claim" - desc = "Used to define new areas in space or on an asteroid." - fluffnotice = "Praise the Liberator!" - -/obj/item/areaeditor/golem/attack_self(mob/user) - . = ..() - var/area/A = get_area() - if(get_area_type() == AREA_STATION) - . += "

According to the [src], you are now in \"[sanitize(A.name)]\".

" - var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500) - popup.set_content(.) - popup.open() - onclose(usr, "blueprints") - -/obj/item/disk/design_disk/golem_shell - name = "golem creation disk" - desc = "A gift from the Liberator." - icon_state = "datadisk1" - max_blueprints = 1 - -/obj/item/disk/design_disk/golem_shell/Initialize() - . = ..() - var/datum/design/golem_shell/G = new - blueprints[1] = G - -/datum/design/golem_shell - name = "Golem Shell Construction" - desc = "Allows for the construction of a Golem Shell." - id = "golem" - build_type = AUTOLATHE - materials = list(MAT_METAL = 40000) - build_path = /obj/item/golem_shell - category = list("Imported") - - -//Structures - -//Areas - -/area/shuttle/freegolem - name = "Free Golem Ship" - icon_state = "purple" - -/area/mine/dangerous/explored/golem - name = "Small Asteroid" - diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 8fe17f24053..83fd272870b 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -428,13 +428,13 @@ /obj/machinery/mineral/equipment_vendor/golem name = "golem ship equipment vendor" - circuit = /obj/item/circuitboard/machine/mining_equipment_vendor/golem /obj/machinery/mineral/equipment_vendor/golem/Initialize() . = ..() desc += "\nIt seems a few selections have been added." prize_list += list( new /datum/data/mining_equipment("Extra Id", /obj/item/card/id/mining, 250), + new /datum/data/mining_equipment("Extra Golem Creation Disk", /obj/item/disk/design_disk/golem_shell, 250), new /datum/data/mining_equipment("Science Goggles", /obj/item/clothing/glasses/science, 250), new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/monkeycube, 300), new /datum/data/mining_equipment("Toolbelt", /obj/item/storage/belt/utility, 350), diff --git a/code/modules/mining/mine_areas.dm b/code/modules/mining/mine_areas.dm index e07d779c9a8..5781bb06bbe 100644 --- a/code/modules/mining/mine_areas.dm +++ b/code/modules/mining/mine_areas.dm @@ -16,6 +16,9 @@ outdoors = 1 ambientsounds = list('sound/ambience/ambimine.ogg') +/area/mine/dangerous/explored/golem + name = "Small Asteroid" + /area/mine/dangerous/unexplored name = "Mine" icon_state = "unexplored" diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 8a6324e0ebd..e5122c70604 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -451,6 +451,8 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, continue if(istype(I, /obj/item/organ)) continue + if(I.flags & ABSTRACT) + continue else failed++ diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index 28d8ff7d477..f2e0ad753eb 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -2,8 +2,8 @@ name = "Golem" name_plural = "Golems" - icobase = 'icons/mob/human_races/golems/golem.dmi' - deform = 'icons/mob/human_races/golems/golem.dmi' + icobase = 'icons/mob/human_races/golems/r_golem.dmi' + deform = 'icons/mob/human_races/golems/r_golem.dmi' species_traits = list(NO_BREATHE, NO_BLOOD, RADIMMUNE, VIRUSIMMUNE, NOGUNS) bodyflags = HAS_SKIN_COLOR @@ -34,6 +34,7 @@ blood_color = "#515573" flesh_color = "#137E8F" + skinned_type = /obj/item/stack/sheet/metal slowdown = 3 siemens_coeff = 0 @@ -41,14 +42,15 @@ dangerous_existence = TRUE has_organ = list( - "brain" = /obj/item/organ/internal/brain/golem + "brain" = /obj/item/organ/internal/brain/golem, + "adamantine_resonator" = /obj/item/organ/internal/adamantine_resonator ) //Has standard darksight of 2. suicide_messages = list( "is crumbling into dust!", "is smashing their body apart!") - var/golem_color = "#434B4D" + var/golem_colour = "aaa" var/info_text = "As an Iron Golem, you don't have any special traits." var/random_eligible = TRUE //If false, the golem subtype can't be made through golem mutation toxin var/prefix = "Iron" @@ -57,7 +59,7 @@ var/special_name_chance = 5 var/owner //dobby is a free golem -/datum/species/golem/random_name() +/datum/species/golem/get_random_name() var/golem_surname = pick(GLOB.golem_names) // 3% chance that our golem has a human surname, because cultural contamination if(prob(human_surname_chance)) @@ -76,14 +78,16 @@ H.mind.special_role = SPECIAL_ROLE_GOLEM else H.mind.special_role = SPECIAL_ROLE_FREE_GOLEM - H.real_name = "[prefix] golem ([rand(1, 1000)])" + H.real_name = get_random_name() H.name = H.real_name H.equip_to_slot_or_del(new /obj/item/clothing/under/golem(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/golem(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/golem(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/golem(H), slot_wear_mask) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/golem(H), slot_gloves) - + H.skin_colour = golem_colour + H.regenerate_icons() + to_chat(H, info_text) //Random Golem @@ -104,15 +108,28 @@ var/datum/species/golem/golem_type = pick(random_golem_types) var/mob/living/carbon/human/H = C H.set_species(golem_type) - to_chat(H, "[initial(golem_type.info_text)]") - //Golem subtypes +//Leader golems, can resonate to communicate with all other golems +/datum/species/golem/adamantine + name = "Adamantine Golem" + skinned_type = /obj/item/stack/sheet/mineral/adamantine + has_organ = list( + "brain" = /obj/item/organ/internal/brain/golem, + "adamantine_resonator" = /obj/item/organ/internal/adamantine_resonator, + "vocal_cords" = /obj/item/organ/internal/vocal_cords/adamantine + ) + golem_colour = "4ed" + info_text = "As an Adamantine Golem, you possess special vocal cords allowing you to \"resonate\" messages to all golems." + prefix = "Adamantine" + special_names = null + //The suicide bombers of golemkind /datum/species/golem/plasma name = "Plasma Golem" skinned_type = /obj/item/stack/ore/plasma + golem_colour = "a3d" //Can burn and takes damage from heat heat_level_1 = 360 heat_level_2 = 400 @@ -171,6 +188,7 @@ //Harder to hurt /datum/species/golem/diamond name = "Diamond Golem" + golem_colour = "0ff" brute_mod = 0.3 //70% damage reduction up from 55% burn_mod = 0.3 tox_mod = 0.3 @@ -182,6 +200,7 @@ //Faster but softer and less armoured /datum/species/golem/gold name = "Gold Golem" + golem_colour = "cc0" slowdown = 2 brute_mod = 0.75 //25% damage reduction down from 55% burn_mod = 0.75 @@ -194,34 +213,40 @@ //Heavier, thus higher chance of stunning when punching /datum/species/golem/silver name = "Silver Golem" + golem_colour = "cc0" punchstunthreshold = 9 //60% chance, from 40% skinned_type = /obj/item/stack/ore/silver - info_text = "As a Silver Golem, your attacks have a higher chance of stunning. Being made of silver, your body is immune to most types of magic." + info_text = "As a Silver Golem, your attacks have a higher chance of stunning." prefix = "Silver" special_names = list("Surfer", "Chariot", "Lining") //Harder to stun, deals more damage, but it's even slower /datum/species/golem/plasteel name = "Plasteel Golem" - stunmod = 0.4 + golem_colour = "bbb" + stun_mod = 0.4 punchdamagelow = 12 punchdamagehigh = 21 punchstunthreshold = 18 //still 40% stun chance - slowdown = 5 //pretty fucking slow + slowdown = 5 //diona speed skinned_type = /obj/item/stack/ore/iron info_text = "As a Plasteel Golem, you are slower, but harder to stun, and hit very hard when punching." - attack_verb = "smash" - attack_sound = 'sound/effects/meteorimpact.ogg' //hits pretty hard prefix = "Plasteel" special_names = null + unarmed_type = /datum/unarmed_attack/golem/plasteel + +/datum/unarmed_attack/golem/plasteel + attack_verb = list("smash") + attack_sound = 'sound/effects/meteorimpact.ogg' //More resistant to burn damage //Add ashstorm resistance if we ever port lavaland /datum/species/golem/titanium name = "Titanium Golem" + golem_colour = "fff" skinned_type = /obj/item/stack/ore/titanium info_text = "As a Titanium Golem, you are resistant to burn damage." - burnmod = 0.3 + burn_mod = 0.3 prefix = "Titanium" special_names = list("Dioxide") @@ -229,15 +254,17 @@ //Add ashstorm and lava resistance if we ever port lavaland /datum/species/golem/plastitanium name = "Plastitanium Golem" + golem_colour = "888" skinned_type = /obj/item/stack/ore/titanium info_text = "As a Plastitanium Golem, you are very resistant to burn damage." - burnmod = 0.15 + burn_mod = 0.15 prefix = "Plastitanium" special_names = null //Fast and regenerates... but can only speak like an abductor /datum/species/golem/alloy name = "Alien Alloy Golem" + golem_colour = "333" skinned_type = /obj/item/stack/sheet/mineral/abductor language = "Golem Mindlink" default_language = "Golem Mindlink" @@ -250,7 +277,8 @@ /datum/species/golem/alloy/handle_life(mob/living/carbon/human/H) if(H.stat == DEAD) return - H.heal_overall_damage(2, 2, 0, BODYPART_ORGANIC) + H.adjustBruteLoss(-2) + H.adjustFireLoss(-2) H.adjustToxLoss(-2) H.adjustOxyLoss(-2) @@ -265,7 +293,8 @@ //Regenerates like dionas, less resistant /datum/species/golem/wood name = "Wood Golem" - skinned_type = /obj/item/stack/sheet/mineral/wood + golem_colour = "9E704B" + skinned_type = /obj/item/stack/sheet/wood //Can burn and take damage from heat brute_mod = 0.7 //30% damage reduction down from 55% burn_mod = 1 @@ -307,42 +336,57 @@ //Radioactive /datum/species/golem/uranium name = "Uranium Golem" + golem_colour = "7f0" skinned_type = /obj/item/stack/ore/uranium - info_text = "As an Uranium Golem, you emit radiation pulses every once in a while. It won't harm fellow golems, but organic lifeforms will be affected." - - var/last_event = 0 - var/active = null + info_text = "As an Uranium Golem, you emit radiation. It won't harm fellow golems, but organic lifeforms will be affected." prefix = "Uranium" special_names = list("Oxide", "Rod", "Meltdown") /datum/species/golem/uranium/handle_life(mob/living/carbon/human/H) - if(!active) - if(world.time > last_event+30) - active = 1 - radiation_pulse(H, 50) - last_event = world.time - active = null + for(var/mob/living/L in range(2, H)) + if(isgolem(H)) + continue + to_chat(L, "You are enveloped by a soft green glow emanating from [H].") + L.apply_effect(10, IRRADIATE) ..() +//Ventcrawler +/datum/species/golem/plastic + name = "Plastic Golem" + prefix = "Plastic" + special_names = null + golem_colour = "fff" + skinned_type = /obj/item/stack/sheet/plastic + info_text = "As a Plastic Golem, you are capable of ventcrawling if you're naked." + +/datum/species/golem/plastic/on_species_gain(mob/living/carbon/C, datum/species/old_species) + . = ..() + C.ventcrawler = 1 + +/datum/species/golem/plastic/on_species_loss(mob/living/carbon/C) + . = ..() + C.ventcrawler = initial(C.ventcrawler) + //Immune to physical bullets and resistant to brute, but very vulnerable to burn damage. Dusts on death. /datum/species/golem/sand name = "Sand Golem" + golem_colour = "ffdc8f" skinned_type = /obj/item/stack/ore/glass //this is sand brute_mod = 0.25 burn_mod = 3 info_text = "As a Sand Golem, you are immune to physical bullets and take very little brute damage, but are extremely vulnerable to burn damage and energy weapons. You will also turn to sand when dying, preventing any form of recovery." - attack_sound = 'sound/effects/shovel_dig.ogg' + unarmed_type = /datum/unarmed_attack/golem/sand prefix = "Sand" special_names = list("Castle", "Bag", "Dune", "Worm", "Storm") -/datum/species/golem/sand/handle_death(gibbed, mob/living/carbon/human/H) +/datum/species/golem/sand/handle_death(mob/living/carbon/human/H) H.visible_message("[H] turns into a pile of sand!") for(var/obj/item/W in H) - H.dropItemToGround(W) + H.unEquip(W) for(var/i=1, i <= rand(3, 5), i++) new /obj/item/stack/ore/glass(get_turf(H)) qdel(H) - +/* /datum/species/golem/sand/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) if(!(P.original == H && P.firer == H)) if(P.flag == "bullet" || P.flag == "bomb") @@ -351,27 +395,31 @@ "The [P.name] sinks harmlessly in [H]'s sandy body!") return BULLET_ACT_BLOCK return BULLET_ACT_HIT +*/ +/datum/unarmed_attack/golem/sand + attack_sound = 'sound/effects/shovel_dig.ogg' //Reflects lasers and resistant to burn damage, but very vulnerable to brute damage. Shatters on death. /datum/species/golem/glass name = "Glass Golem" + golem_colour = "5a96b4aa" //transparent body skinned_type = /obj/item/shard - brutemod = 3 //very fragile - burnmod = 0.25 + brute_mod = 3 //very fragile + burn_mod = 0.25 info_text = "As a Glass Golem, you reflect lasers and energy weapons, and are very resistant to burn damage. However, you are extremely vulnerable to brute damage. On death, you'll shatter beyond any hope of recovery." - attack_sound = 'sound/effects/glassbr2.ogg' + unarmed_type = /datum/unarmed_attack/golem/glass prefix = "Glass" special_names = list("Lens", "Prism", "Fiber", "Bead") -/datum/species/golem/glass/spec_death(gibbed, mob/living/carbon/human/H) +/datum/species/golem/glass/handle_death(mob/living/carbon/human/H) playsound(H, "shatter", 70, 1) H.visible_message("[H] shatters!") for(var/obj/item/W in H) - H.dropItemToGround(W) + H.unEquip(W) for(var/i=1, i <= rand(3, 5), i++) new /obj/item/shard(get_turf(H)) qdel(H) - +/* /datum/species/golem/glass/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) if(!(P.original == H && P.firer == H)) //self-shots don't reflect if(P.flag == "laser" || P.flag == "energy") @@ -385,16 +433,19 @@ P.preparePixelProjectile(locate(CLAMP(target.x + new_x, 1, world.maxx), CLAMP(target.y + new_y, 1, world.maxy), H.z), H) return BULLET_ACT_FORCE_PIERCE return BULLET_ACT_HIT +*/ +/datum/unarmed_attack/golem/glass + attack_sound = 'sound/effects/glassbr2.ogg' //Teleports when hit or when it wants to /datum/species/golem/bluespace name = "Bluespace Golem" + golem_colour = "33f" skinned_type = /obj/item/stack/ore/bluespace_crystal info_text = "As a Bluespace Golem, you are spatially unstable: You will teleport when hit, and you can teleport manually at a long distance." - attack_verb = "bluespace punch" - attack_sound = 'sound/effects/phasein.ogg' prefix = "Bluespace" special_names = list("Crystal", "Polycrystal") + unarmed_type = /datum/unarmed_attack/golem/bluespace var/datum/action/innate/unstable_teleport/unstable_teleport var/teleport_cooldown = 100 @@ -405,8 +456,6 @@ H.visible_message("[H] teleports!", "You destabilize and teleport!") var/list/turfs = new/list() for(var/turf/T in orange(tele_range, H)) - if(istype(T, /turf/space)) - continue if(T.density) continue if(T.x>world.maxx-tele_range || T.x last_teleport + teleport_cooldown) reactive_teleport(H) - +*/ /datum/species/golem/bluespace/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() if(ishuman(C)) @@ -464,8 +514,8 @@ /datum/action/innate/unstable_teleport name = "Unstable Teleport" check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "jaunt" - icon_icon = 'icons/mob/actions/actions_spells.dmi' + button_icon_state = "blink" + icon_icon = 'icons/mob/actions/actions.dmi' var/cooldown = 150 var/last_teleport = 0 var/tele_range = 6 @@ -502,24 +552,29 @@ return if(H.buckled) H.buckled.unbuckle_mob() - H.forceMove(picked) + do_teleport(H, picked) last_teleport = world.time UpdateButtonIcon() //action icon looks unavailable sleep(cooldown + 5) UpdateButtonIcon() //action icon looks available again +/datum/unarmed_attack/golem/bluespace + attack_verb = "bluespace punch" + attack_sound = 'sound/effects/phasein.ogg' + //honk /datum/species/golem/bananium name = "Bananium Golem" + golem_colour = "ff0" + //say_mod = "honks" punchdamagelow = 0 punchdamagehigh = 1 punchstunthreshold = 2 //Harmless and can't stun skinned_type = /obj/item/stack/ore/bananium info_text = "As a Bananium Golem, you are made for pranking. Your body emits natural honks, and you can barely even hurt people when punching them. Your skin also bleeds banana peels when damaged." - attack_verb = "honk" - attack_sound = 'sound/items/airhorn2.ogg' prefix = "Bananium" special_names = null + unarmed_type = /datum/unarmed_attack/golem/bananium var/last_honk = 0 var/honkooldown = 0 @@ -527,16 +582,20 @@ var/banana_cooldown = 100 var/active = null -/datum/species/golem/bananium/on_species_gain(mob/living/carbon/C, datum/species/old_species) +/datum/species/golem/bananium/on_species_gain(mob/living/carbon/human/H) ..() last_banana = world.time last_honk = world.time + H.job = "Clown" + H.mutations.Add(CLUMSY) + H.mutations.Add(COMIC) + H.equip_to_slot_or_del(new /obj/item/reagent_containers/food/drinks/bottle/bottleofbanana(H), slot_r_store) + H.equip_to_slot_or_del(new /obj/item/bikehorn(H), slot_l_store) -/datum/species/golem/bananium/random_name(gender,unique,lastname) - var/clown_name = pick(GLOB.clown_names) - var/golem_name = "[uppertext(clown_name)]" +/datum/species/golem/bananium/get_random_name() + var/golem_name = pick(GLOB.clown_names) return golem_name - +/* /datum/species/golem/bananium/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) ..() if(world.time > last_banana + banana_cooldown && M != H && M.a_intent != INTENT_HELP) @@ -565,7 +624,7 @@ else new/obj/item/grown/bananapeel/specialpeel(get_turf(H)) last_banana = world.time - +*/ /datum/species/golem/bananium/handle_life(mob/living/carbon/human/H) if(!active) if(world.time > last_honk + honkooldown) @@ -576,452 +635,41 @@ active = null ..() -/datum/species/golem/bananium/spec_death(gibbed, mob/living/carbon/human/H) +/datum/species/golem/bananium/handle_death(mob/living/carbon/human/H) playsound(get_turf(H), 'sound/misc/sadtrombone.ogg', 70, 0) -/datum/species/golem/bananium/get_spans() - return list(SPAN_CLOWN) +/datum/unarmed_attack/golem/bananium + attack_verb = list("honk") + attack_sound = 'sound/items/airhorn2.ogg' - -/datum/species/golem/runic - name = "Runic Golem" - id = "runic golem" - limbs_id = "cultgolem" - sexes = FALSE - info_text = "As a Runic Golem, you possess eldritch powers granted by the Elder Goddess Nar'Sie." - species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES) //no mutcolors - prefix = "Runic" +//... +/datum/species/golem/tranquillite + name = "Tranquillite Golem" + prefix = "Tranquillite" special_names = null + golem_colour = "fff" + skinned_type = /obj/item/stack/ore/tranquillite + info_text = "As a Tranquillite Golem, you are capable of creating invisible walls, and can regenerate by drinking your bottle of Nothing." + unarmed_type = /datum/unarmed_attack/golem/tranquillite - var/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/golem/phase_shift - var/obj/effect/proc_holder/spell/targeted/abyssal_gaze/abyssal_gaze - var/obj/effect/proc_holder/spell/targeted/dominate/dominate - -/datum/species/golem/runic/random_name(gender,unique,lastname) - var/edgy_first_name = pick("Razor","Blood","Dark","Evil","Cold","Pale","Black","Silent","Chaos","Deadly","Coldsteel") - var/edgy_last_name = pick("Edge","Night","Death","Razor","Blade","Steel","Calamity","Twilight","Shadow","Nightmare") //dammit Razor Razor - var/golem_name = "[edgy_first_name] [edgy_last_name]" +/datum/species/golem/tranquillite/get_random_name() + var/golem_name = pick(GLOB.mime_names) return golem_name -/datum/species/golem/runic/on_species_gain(mob/living/carbon/C, datum/species/old_species) - . = ..() - C.faction |= "cult" - phase_shift = new - phase_shift.charge_counter = 0 - C.AddSpell(phase_shift) - abyssal_gaze = new - abyssal_gaze.charge_counter = 0 - C.AddSpell(abyssal_gaze) - dominate = new - dominate.charge_counter = 0 - C.AddSpell(dominate) - -/datum/species/golem/runic/on_species_loss(mob/living/carbon/C) - . = ..() - C.faction -= "cult" - if(phase_shift) - C.RemoveSpell(phase_shift) - if(abyssal_gaze) - C.RemoveSpell(abyssal_gaze) - if(dominate) - C.RemoveSpell(dominate) - -/datum/species/golem/runic/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) - if(chem.id == "holywater") - H.adjustFireLoss(4) - H.reagents.remove_reagent(chem.id, REAGENTS_METABOLISM) - - if(chem.id == "unholywater") - H.adjustBruteLoss(-4) - H.adjustFireLoss(-4) - H.reagents.remove_reagent(chem.id, REAGENTS_METABOLISM) - - -/datum/species/golem/clockwork - name = "Clockwork Golem" - id = "clockwork golem" - say_mod = "clicks" - limbs_id = "clockgolem" - info_text = "As a Clockwork Golem, you are faster than other types of golems. On death, you will break down into scrap." - species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES) - inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID) - armor = 20 //Reinforced, but much less so to allow for fast movement - attack_verb = "smash" - attack_sound = 'sound/magic/clockwork/anima_fragment_attack.ogg' - sexes = FALSE - speedmod = 0 - damage_overlay_type = "synth" - prefix = "Clockwork" - special_names = list("Remnant", "Relic", "Scrap", "Vestige") //RIP Ratvar - var/has_corpse - -/datum/species/golem/clockwork/on_species_gain(mob/living/carbon/human/H) - . = ..() - H.faction |= "ratvar" - -/datum/species/golem/clockwork/on_species_loss(mob/living/carbon/human/H) - if(!is_servant_of_ratvar(H)) - H.faction -= "ratvar" - . = ..() - -/datum/species/golem/clockwork/get_spans() - return SPAN_ROBOT //beep - -/datum/species/golem/clockwork/spec_death(gibbed, mob/living/carbon/human/H) - gibbed = !has_corpse ? FALSE : gibbed - . = ..() - if(!has_corpse) - var/turf/T = get_turf(H) - H.visible_message("[H]'s exoskeleton shatters, collapsing into a heap of scrap!") - playsound(H, 'sound/magic/clockwork/anima_fragment_death.ogg', 62, TRUE) - for(var/i in 1 to rand(3, 5)) - new/obj/item/clockwork/alloy_shards/small(T) - new/obj/item/clockwork/alloy_shards/clockgolem_remains(T) - qdel(H) - -/datum/species/golem/clockwork/no_scrap //These golems are created through the herald's beacon and leave normal corpses on death. - id = "clockwork golem servant" - armor = 15 //Balance reasons make this armor weak - no_equip = list() - nojumpsuit = FALSE - has_corpse = TRUE - blacklisted = TRUE - dangerous_existence = TRUE - random_eligible = FALSE - info_text = "As a Clockwork Golem Servant, you are faster than other types of golems." //warcult golems leave a corpse - -/datum/species/golem/cloth - name = "Cloth Golem" - id = "cloth golem" - limbs_id = "clothgolem" - sexes = FALSE - info_text = "As a Cloth Golem, you are able to reform yourself after death, provided your remains aren't burned or destroyed. You are, of course, very flammable. \ - Being made of cloth, your body is magic resistant and faster than that of other golems, but weaker and less resilient." - species_traits = list(NOBLOOD,NO_UNDERWEAR) //no mutcolors, and can burn - inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOGUNS) - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) - armor = 15 //feels no pain, but not too resistant - burnmod = 2 // don't get burned - speedmod = 1 // not as heavy as stone - punchdamagelow = 4 - punchstunthreshold = 7 - punchdamagehigh = 8 // not as heavy as stone - prefix = "Cloth" - special_names = null - -/datum/species/golem/cloth/on_species_gain(mob/living/carbon/C, datum/species/old_species) +/datum/species/golem/tranquillite/on_species_gain(mob/living/carbon/human/H) ..() - C.add_trait(TRAIT_HOLY, SPECIES_TRAIT) + H.job = "Mime" + H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_r_store) + H.equip_to_slot_or_del(new /obj/item/cane(H), slot_l_hand) + if(H.mind) + H.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall(null)) + H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/mime/speak(null)) + H.mind.miming = TRUE -/datum/species/golem/cloth/on_species_loss(mob/living/carbon/C) - C.remove_trait(TRAIT_HOLY, SPECIES_TRAIT) - ..() - -/datum/species/golem/cloth/check_roundstart_eligible() - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - return TRUE - return ..() - -/datum/species/golem/cloth/random_name(gender,unique,lastname) - var/pharaoh_name = pick("Neferkare", "Hudjefa", "Khufu", "Mentuhotep", "Ahmose", "Amenhotep", "Thutmose", "Hatshepsut", "Tutankhamun", "Ramses", "Seti", \ - "Merenptah", "Djer", "Semerkhet", "Nynetjer", "Khafre", "Pepi", "Intef", "Ay") //yes, Ay was an actual pharaoh - var/golem_name = "[pharaoh_name] \Roman[rand(1,99)]" - return golem_name - -/datum/species/golem/cloth/handle_life(mob/living/carbon/human/H) - if(H.fire_stacks < 1) - H.adjust_fire_stacks(1) //always prone to burning - ..() - -/datum/species/golem/cloth/spec_death(gibbed, mob/living/carbon/human/H) - if(gibbed) - return - if(H.on_fire) - H.visible_message("[H] burns into ash!") - H.dust(just_ash = TRUE) - return - - H.visible_message("[H] falls apart into a pile of bandages!") - new /obj/structure/cloth_pile(get_turf(H), H) - ..() - -/obj/structure/cloth_pile - name = "pile of bandages" - desc = "It emits a strange aura, as if there was still life within it..." - max_integrity = 50 - armor = list("melee" = 90, "bullet" = 90, "laser" = 25, "energy" = 80, "bomb" = 50, "bio" = 100, "fire" = -50, "acid" = -50) - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "pile_bandages" - resistance_flags = FLAMMABLE - - var/revive_time = 900 - var/mob/living/carbon/human/cloth_golem - -/obj/structure/cloth_pile/Initialize(mapload, mob/living/carbon/human/H) - . = ..() - if(!QDELETED(H) && is_species(H, /datum/species/golem/cloth)) - H.unequip_everything() - H.forceMove(src) - cloth_golem = H - to_chat(cloth_golem, "You start gathering your life energy, preparing to rise again...") - addtimer(CALLBACK(src, .proc/revive), revive_time) - else - return INITIALIZE_HINT_QDEL - -/obj/structure/cloth_pile/Destroy() - if(cloth_golem) - QDEL_NULL(cloth_golem) - return ..() - -/obj/structure/cloth_pile/burn() - visible_message("[src] burns into ash!") - new /obj/effect/decal/cleanable/ash(get_turf(src)) - ..() - -/obj/structure/cloth_pile/proc/revive() - if(QDELETED(src) || QDELETED(cloth_golem)) //QDELETED also checks for null, so if no cloth golem is set this won't runtime - return - if(cloth_golem.suiciding || cloth_golem.hellbound) - QDEL_NULL(cloth_golem) - return - - invisibility = INVISIBILITY_MAXIMUM //disappear before the animation - new /obj/effect/temp_visual/mummy_animation(get_turf(src)) - if(cloth_golem.revive(full_heal = TRUE, admin_revive = TRUE)) - cloth_golem.grab_ghost() //won't pull if it's a suicide - sleep(20) - cloth_golem.forceMove(get_turf(src)) - cloth_golem.visible_message("[src] rises and reforms into [cloth_golem]!","You reform into yourself!") - cloth_golem = null - qdel(src) - -/obj/structure/cloth_pile/attackby(obj/item/P, mob/living/carbon/human/user, params) - . = ..() - - if(resistance_flags & ON_FIRE) - return - - if(P.is_hot()) - visible_message("[src] bursts into flames!") - fire_act() - -/datum/species/golem/plastic - name = "Plastic Golem" - id = "plastic golem" - prefix = "Plastic" - special_names = null - fixed_mut_color = "fff" - info_text = "As a Plastic Golem, you are capable of ventcrawling and passing through plastic flaps as long as you are naked." - -/datum/species/golem/plastic/on_species_gain(mob/living/carbon/C, datum/species/old_species) - . = ..() - C.ventcrawler = VENTCRAWLER_NUDE - -/datum/species/golem/plastic/on_species_loss(mob/living/carbon/C) - . = ..() - C.ventcrawler = initial(C.ventcrawler) - -/datum/species/golem/bronze - name = "Bronze Golem" - id = "bronze golem" - prefix = "Bronze" - special_names = list("Bell") - fixed_mut_color = "cd7f32" - info_text = "As a Bronze Golem, you are very resistant to loud noises, and make loud noises if something hard hits you, however this ability does hurt your hearing." - special_step_sounds = list('sound/machines/clockcult/integration_cog_install.ogg', 'sound/magic/clockwork/fellowship_armory.ogg' ) - mutantears = /obj/item/organ/ears/bronze - var/last_gong_time = 0 - var/gong_cooldown = 150 - -/datum/species/golem/bronze/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) - if(!(world.time > last_gong_time + gong_cooldown)) - return BULLET_ACT_HIT - if(P.flag == "bullet" || P.flag == "bomb") - gong(H) - return BULLET_ACT_HIT - -/datum/species/golem/bronze/spec_hitby(atom/movable/AM, mob/living/carbon/human/H) - ..() - if(world.time > last_gong_time + gong_cooldown) - gong(H) - -/datum/species/golem/bronze/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - ..() - if(world.time > last_gong_time + gong_cooldown && M.a_intent != INTENT_HELP) - gong(H) - -/datum/species/golem/bronze/spec_attacked_by(obj/item/I, mob/living/user, obj/item/bodypart/affecting, intent, mob/living/carbon/human/H) - ..() - if(world.time > last_gong_time + gong_cooldown) - gong(H) - -/datum/species/golem/bronze/on_hit(obj/item/projectile/P, mob/living/carbon/human/H) - ..() - if(world.time > last_gong_time + gong_cooldown) - gong(H) - -/datum/species/golem/bronze/proc/gong(mob/living/carbon/human/H) - last_gong_time = world.time - for(var/mob/living/M in get_hearers_in_view(7,H)) - if(M.stat == DEAD) //F - return - if(M == H) - H.show_message("You cringe with pain as your body rings around you!", 2) - H.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE) - H.soundbang_act(2, 0, 100, 1) - H.jitteriness += 7 - var/distance = max(0,get_dist(get_turf(H),get_turf(M))) - switch(distance) - if(0 to 1) - M.show_message("GONG!", 2) - M.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE) - M.soundbang_act(1, 0, 30, 3) - M.confused += 10 - M.jitteriness += 4 - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "gonged", /datum/mood_event/loud_gong) - if(2 to 3) - M.show_message("GONG!", 2) - M.playsound_local(H, 'sound/effects/gong.ogg', 75, TRUE) - M.soundbang_act(1, 0, 15, 2) - M.jitteriness += 3 - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "gonged", /datum/mood_event/loud_gong) - else - M.show_message("GONG!", 2) - M.playsound_local(H, 'sound/effects/gong.ogg', 50, TRUE) - - -/datum/species/golem/cardboard //Faster but weaker, can also make new shells on its own - name = "Cardboard Golem" - id = "cardboard golem" - prefix = "Cardboard" - special_names = list("Box") - info_text = "As a Cardboard Golem, you aren't very strong, but you are a bit quicker and can easily create more brethren by using cardboard on yourself." - species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES) - inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) - limbs_id = "c_golem" //special sprites - attack_verb = "whips" - attack_sound = 'sound/weapons/whip.ogg' - miss_sound = 'sound/weapons/etherealmiss.ogg' - fixed_mut_color = null - armor = 25 - burnmod = 1.25 - heatmod = 2 - speedmod = 1.5 - punchdamagelow = 4 - punchstunthreshold = 7 - punchdamagehigh = 8 - var/last_creation - var/brother_creation_cooldown = 300 - -/datum/species/golem/cardboard/spec_attacked_by(obj/item/I, mob/living/user, obj/item/bodypart/affecting, intent, mob/living/carbon/human/H) - . = ..() - if(user != H || intent != INTENT_HELP) - return FALSE //forced reproduction is rape. - if(istype(I, /obj/item/stack/sheet/cardboard)) - var/obj/item/stack/sheet/cardboard/C = I - if(last_creation + brother_creation_cooldown < world.time) //no cheesing dork - return - to_chat(H, "You attempt to create a new cardboard brother.") - if(do_after(user, 30, target = user)) - if(last_creation + brother_creation_cooldown < world.time) //no cheesing dork - return - if(!C.use(10)) - to_chat(H, "You do not have enough cardboard!") - return FALSE - to_chat(H, "You create a new cardboard golem shell.") - create_brother(H.loc) - -/datum/species/golem/cardboard/proc/create_brother(var/location) - new /obj/effect/mob_spawn/human/golem/servant(location, /datum/species/golem/cardboard, owner) - last_creation = world.time - -/datum/species/golem/leather - name = "Leather Golem" - id = "leather golem" - special_names = list("Face", "Man") - inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER, TRAIT_STRONG_GRABBER) - prefix = "Leather" - fixed_mut_color = "624a2e" - info_text = "As a Leather Golem, you are flammable, but you can grab things with incredible ease, allowing all your grabs to start at a strong level." - grab_sound = 'sound/weapons/whipgrab.ogg' - attack_sound = 'sound/weapons/whip.ogg' - -/datum/species/golem/durathread - name = "Durathread Golem" - id = "durathread golem" - prefix = "Durathread" - limbs_id = "d_golem" - special_names = list("Boll","Weave") - species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES) - fixed_mut_color = null - inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) - info_text = "As a Durathread Golem, your strikes will cause those your targets to start choking, but your woven body won't withstand fire as well." - -/datum/species/golem/durathread/spec_unarmedattacked(mob/living/carbon/human/user, mob/living/carbon/human/target) - . = ..() - target.apply_status_effect(STATUS_EFFECT_CHOKINGSTRAND) - -/datum/species/golem/bone - name = "Bone Golem" - id = "bone golem" - say_mod = "rattles" - prefix = "Bone" - limbs_id = "b_golem" - special_names = list("Head", "Broth", "Fracture") - liked_food = GROSS | MEAT | RAW - toxic_food = null - species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES) - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) - mutanttongue = /obj/item/organ/tongue/bone - sexes = FALSE - fixed_mut_color = null - inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_FAKEDEATH,TRAIT_CALCIUM_HEALER) - info_text = "As a Bone Golem, You have a powerful spell that lets you chill your enemies with fear, and milk heals you! Just make sure to watch our for bone-hurting juice." - var/datum/action/innate/bonechill/bonechill - -/datum/species/golem/bone/on_species_gain(mob/living/carbon/C, datum/species/old_species) - ..() - if(ishuman(C)) - bonechill = new - bonechill.Grant(C) - -/datum/species/golem/bone/on_species_loss(mob/living/carbon/C) - if(bonechill) - bonechill.Remove(C) - ..() - -/datum/action/innate/bonechill - name = "Bone Chill" - desc = "Rattle your bones and strike fear into your enemies!" - check_flags = AB_CHECK_CONSCIOUS - icon_icon = 'icons/mob/actions/actions_spells.dmi' - button_icon_state = "bonechill" - var/cooldown = 600 - var/last_use - var/snas_chance = 3 - -/datum/action/innate/bonechill/Activate() - if(world.time < last_use + cooldown) - to_chat("You aren't ready yet to rattle your bones again") - owner.visible_message("[owner] rattles [owner.p_their()] bones harrowingly.", "You rattle your bones") - last_use = world.time - if(prob(snas_chance)) - playsound(get_turf(owner),'sound/magic/RATTLEMEBONES2.ogg', 100) - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - var/mutable_appearance/badtime = mutable_appearance('icons/mob/human_parts.dmi', "b_golem_eyes", -FIRE_LAYER-0.5) - badtime.appearance_flags = RESET_COLOR - H.overlays_standing[FIRE_LAYER+0.5] = badtime - H.apply_overlay(FIRE_LAYER+0.5) - addtimer(CALLBACK(H, /mob/living/carbon/.proc/remove_overlay, FIRE_LAYER+0.5), 25) - else - playsound(get_turf(owner),'sound/magic/RATTLEMEBONES.ogg', 100) - for(var/mob/living/L in orange(7, get_turf(owner))) - if((MOB_UNDEAD in L.mob_biotypes) || isgolem(L)) - return //Do not affect our brothers - to_chat(L, "A spine-chilling sound chills you to the bone!") - L.apply_status_effect(/datum/status_effect/bonechill) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "spooked", /datum/mood_event/spooked) +/datum/unarmed_attack/golem/tranquillite + attack_sound = null + miss_sound = null //Golem abstract items @@ -1040,11 +688,15 @@ desc = "a golem's thick outter shell" icon_state = "golem" item_state = "golem" - body_parts_covered = HEAD|UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - flags_inv = HIDEGLOVES|HIDESHOES - flags = ABSTRACT | NODROP | THICKMATERIAL + gas_transfer_coefficient = 0.01 + permeability_coefficient = 0.02 + body_parts_covered = HEAD | UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS + flags_inv = HIDEGLOVES | HIDESHOES + flags = STOPSPRESSUREDMAGE | ABSTRACT | NODROP | THICKMATERIAL flags_size = ONESIZEFITSALL - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + cold_protection = HEAD | UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0) /obj/item/clothing/shoes/golem name = "golem's feet" diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index d565ef624d2..c1d7fb0fbc0 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -530,10 +530,7 @@ required_other = 1 /datum/chemical_reaction/slimegolem/on_reaction(datum/reagents/holder) - feedback_add_details("slime_cores_used","[type]") - var/obj/effect/golemrune/Z = new /obj/effect/golemrune - Z.forceMove(get_turf(holder.my_atom)) - notify_ghosts("Golem rune created in [get_area(Z)].", source = Z) + new /obj/item/stack/sheet/mineral/adamantine(get_turf(holder.my_atom)) //Bluespace /datum/chemical_reaction/slimefloor2 diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index af3088b514b..ca606720c7b 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -889,3 +889,13 @@ materials = list(MAT_METAL = 1000) build_path = /obj/item/safe_internals category = list("initial", "Construction") + +/datum/design/golem_shell + name = "Golem Shell Construction" + desc = "Allows for the construction of a Golem Shell." + id = "golem" + build_type = AUTOLATHE + materials = list(MAT_METAL = 40000) + build_path = /obj/item/golem_shell + category = list("Imported") + diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 32f5ab879cd..4d1195e29ce 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -386,3 +386,13 @@ datum/tech/robotics name = default_name desc = default_desc blueprint = null + +/obj/item/disk/design_disk/golem_shell + name = "golem creation disk" + desc = "A gift from the Liberator." + icon_state = "datadisk1" + +/obj/item/disk/design_disk/golem_shell/Initialize() + . = ..() + var/datum/design/golem_shell/G = new + blueprint = G \ No newline at end of file diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 654b1fe374a..f5f0d33c69a 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -390,7 +390,7 @@ qdel(src) ////////Adamantine Golem stuff I dunno where else to put it - +/* /obj/effect/golemrune anchored = 1 desc = "a strange rune used to create golems. It glows when spirits are nearby." @@ -463,10 +463,7 @@ return ghosts.Add(O) to_chat(O, "You are signed up to be a golem.") - - - - +*/ /obj/effect/timestop anchored = 1 name = "chronofield" diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index fe00b6b3611..c5230ea689f 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -826,7 +826,6 @@ shuttleId = "specops" possible_destinations = "specops_home;specops_away" - /obj/machinery/computer/shuttle/white_ship name = "White Ship Console" desc = "Used to control the White Ship." @@ -834,6 +833,13 @@ shuttleId = "whiteship" possible_destinations = "whiteship_away;whiteship_home;whiteship_z4" +/obj/machinery/computer/shuttle/golem_ship + name = "Golem Ship Console" + desc = "Used to control the Golem Ship." + circuit = /obj/item/circuitboard/golem_ship + shuttleId = "freegolem" + possible_destinations = "freegolem_z3;freegolem_z5;freegolem_z1;freegolem_z6" + /obj/machinery/computer/shuttle/vox name = "skipjack control console" req_access = list(access_vox) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 1ed5b3cf8e9..94f6be4cc9a 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -51,6 +51,35 @@ var/static/regex/multispin_words = regex("like a record baby") /obj/item/organ/internal/vocal_cords/proc/handle_speech(message) //change the message return message +/obj/item/organ/internal/adamantine_resonator + name = "adamantine resonator" + desc = "Fragments of adamantine exist in all golems, stemming from their origins as purely magical constructs. These are used to \"hear\" messages from their leaders." + parent_organ = "head" + slot = "adamantine_resonator" + icon_state = "adamantine_resonator" + +/obj/item/organ/internal/vocal_cords/adamantine + name = "adamantine vocal cords" + desc = "When adamantine resonates, it causes all nearby pieces of adamantine to resonate as well. Adamantine golems use this to broadcast messages to nearby golems." + actions_types = list(/datum/action/item_action/organ_action/use/adamantine_vocal_cords) + icon_state = "adamantine_cords" + +/datum/action/item_action/organ_action/use/adamantine_vocal_cords/Trigger() + if(!IsAvailable()) + return + var/message = input(owner, "Resonate a message to all nearby golems.", "Resonate") + if(QDELETED(src) || QDELETED(owner) || !message) + return + owner.say(".x[message]") + +/obj/item/organ/internal/vocal_cords/adamantine/handle_speech(message) + var/msg = "[owner.real_name] resonates, \"[message]\"" + for(var/m in GLOB.player_list) + if(iscarbon(m)) + var/mob/living/carbon/C = m + if(C.get_organ_slot("adamantine_resonator")) + to_chat(C, msg) + //Colossus drop, forces the listeners to obey certain commands /obj/item/organ/internal/vocal_cords/colossus name = "divine vocal cords" diff --git a/config/example/config.txt b/config/example/config.txt index 39a1b13d23b..69a5ba67b73 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -97,6 +97,12 @@ PROBABILITY ABDUCTION 0 PROBABILITY DEVIL 0 PROBABILITY DEVILAGENTS 0 +## Probability in % for Free Golems to spawn at roundstart, set to 0 for no golems +PROB_FREEGOLEMS 50 + +## Uncomment to allow free golems on all roundtypes. Otherwise, disabled on wiz, raging mages, blob, and nuclear. +#UNRESTRICTED_FREEGOLEMS + ## Maximum cycles shadowlings can remain unhatched before they take damage. 1800 = 60 minutes, 900 = 30 minutes, 0 = feature disabled. SHADOWLING_MAX_AGE 0 diff --git a/goon/browserassets/css/browserOutput-dark.css b/goon/browserassets/css/browserOutput-dark.css index 30618df6fa5..4c4412bd877 100644 --- a/goon/browserassets/css/browserOutput-dark.css +++ b/goon/browserassets/css/browserOutput-dark.css @@ -368,6 +368,7 @@ h1.alert, h2.alert {color: #FFF;} .orange {color: #ffa500;} .orangei {color: #ffa500; font-style: italic;} .orangeb {color: #ffa500; font-weight: bold;} +.resonate {color: #298F85;} .revennotice {color: #1d29C3;} .revenboldnotice {color: #1d29C3; font-weight: bold;} diff --git a/goon/browserassets/css/browserOutput.css b/goon/browserassets/css/browserOutput.css index 234c5ac2274..047705282c7 100644 --- a/goon/browserassets/css/browserOutput.css +++ b/goon/browserassets/css/browserOutput.css @@ -365,6 +365,7 @@ h1.alert, h2.alert {color: #000000;} .orange {color: #ffa500;} .orangei {color: #ffa500; font-style: italic;} .orangeb {color: #ffa500; font-weight: bold;} +.resonate {color: #298F85;} .revennotice {color: #1d2953;} .revenboldnotice {color: #1d2953; font-weight: bold;} diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 07680638b6be0689116bec9121469b6bfbe7a988..b8bd2933bbc14fafee130963aaa0b7ce09e1111e 100644 GIT binary patch delta 17003 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 delta 16823 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 GiTf8HQF#Uc delta 18251 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Ðs`G#FreS4`N&!h%Hv}o@Mf~tIvcp3l9nn>?8p7DFpF=gdglp z(d>NDwj~v$0|etilR=cg(MRJ6_+Qumr5Swv-;e*#MUiJw)WQki<|aX6T-@P1Y`V8{ za=28l6EhD5@9K=YkdXm&LKepqPTUMBgf+CELH*;_(m|hQc7+Q$w|a>vC|F0B85x1> zHeCDJ%7Eci9&`iW6C^hMmbdgfGOCDgaoA*J;}*yqS~{ul?nvtqs< zY%5o?EqbD`U#T)T7apC6EkVx*G9ya;?@#*7ocBBh6OjJWFN(QfHG^B^i5&cBsg>oi z$~T-gU}UG3863tI3h|ICn%(Z}*fwq>JvedS3bZ}zuX6JP6dsG6!0NP)Lyy|Y2>=sv zXd_9T_UDWGFv$HylwbC(va%5qlXl`4&UjwPxobv;61TwI56+WMBk#`{^yop^ z^Q13dem0!2>bHDcW#8qjjT1UeyPiUd7@YpD)%Ar(hlEc~V6Mt+u#|{h-`5giw304~Z91N03Vo_y|yU;@i*WbL}0Zwo&3eJFBfMb+w;&G(v{C2@TY`kx&MxQ zW*!M9OSe)hYBYl+ff*7KQe{nBb2VfM6H-z}Lu-$=P-kb-*w_fbrl!9L ztx=tE2ubEgK5Yiec2J~baj(ZS3xuUn0SSqTw6wJFSG|23t*t(hF; z!BZ@SG8oTeTaN5pS2Fj!wtY{RK$>gbTN<;Tlg5@ zwVMwHQ7Aou6~8Nr^7cn>Q&UrF0RfU2(Nk3ap&{=1-s(}&2!>2gNp4u^W+w)a*<|lr zbn6jDdQP=?And1XZT(73t(`8PK`&guBz6HP_%j~t_I1hCtDSxZK7mJ+X-n}K;w?@Q zlGhZ^Xp};K6lzW3ui~!W-<&0lq;SbDR$zi;yp{DU{yscFKLwoqT-Bf7cZbatD(dP} zo9E}Q`T6&Vu!3e~t2tEgO+6dJ{Lm5DQ;Qi8uMQ|U33*50X0avfLfvcp#bsi3LsUb zV57#M4?bM{UL@AJ+a?g8w3+^%f&rBIf%0#)qso+WjPZv43?{v{-F)lown~jf&JTl> z58|@fiHX1khxS%I#E2wBrJ*^b##zly7u3rj${(~#SPD6`=hY%MKsZo z+>%IEnKMIzF+{mqSWQh0>6_7j9OPLVn

%xE}FxC?$i{Er`Q;^KG5!FT5Wsd*93k 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