diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 7cd48dce8c6..f0782f15707 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -1477,7 +1477,7 @@ "aCu" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/wall,/area/quartermaster/miningdock{name = "\improper Mining Office"}) "aCv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/miningdock{name = "\improper Mining Office"}) "aCw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/quartermaster/miningdock{name = "\improper Mining Office"}) -"aCx" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/Doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig) +"aCx" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig) "aCy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"}) "aCz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"}) "aCA" = (/obj/structure/closet/crate/freezer,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/sorting{name = "\improper Warehouse"}) @@ -5877,13 +5877,13 @@ "cja" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;47"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cjb" = (/obj/item/weapon/paper,/obj/structure/sign/double/map/left{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-left-MS"; pixel_y = 32},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32; pixel_y = 0},/obj/item/weapon/storage/box/donkpockets,/obj/structure/table/glass,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "cjc" = (/obj/structure/sign/double/map/right{desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; icon_state = "map-right-MS"; pixel_y = 32},/obj/item/trash/raisins{pixel_y = 7},/obj/structure/table/glass,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) -"cjd" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/obj/structure/stool,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) +"cjd" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard) "cje" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "cjf" = (/obj/machinery/vending/cigarette,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"cjg" = (/turf/simulated/floor,/area/toxins/explab) -"cjh" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/camera{c_tag = "Telescience - Test Chamber"; dir = 2; network = list("SS13","RD")},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/toxins/explab) -"cji" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/toxins/explab) -"cjj" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor,/area/toxins/explab) +"cjg" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/obj/structure/stool,/mob/living/simple_animal/pet/corgi/Ian/borgi,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) +"cjh" = (/turf/simulated/floor/engine,/area/toxins/explab) +"cji" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/engine,/area/toxins/explab) +"cjj" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/camera{c_tag = "Telescience - Test Chamber"; dir = 2; network = list("SS13","RD")},/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/toxins/explab) "cjk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) "cjl" = (/obj/structure/closet/crate,/obj/item/weapon/storage/belt/utility,/obj/item/stack/cable_coil/random,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/starboard) "cjm" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/cane,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/starboard) @@ -5944,12 +5944,12 @@ "ckp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "ckq" = (/obj/item/weapon/cigbutt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "ckr" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/vending/cola,/turf/simulated/floor{dir = 4; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"cks" = (/mob/living/simple_animal/pet/corgi/Ian/borgi,/turf/simulated/floor,/area/toxins/explab) -"ckt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/toxins/explab) -"cku" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/toxins/explab) -"ckv" = (/obj/machinery/telepad,/turf/simulated/floor,/area/toxins/explab) -"ckw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/toxins/explab) -"ckx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/toxins/explab) +"cks" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab) +"ckt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/engine,/area/toxins/explab) +"cku" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/mob/living/simple_animal/pet/pug{name = "Pugley IV"; real_name = "Pugley IV"},/turf/simulated/floor/engine,/area/toxins/explab) +"ckv" = (/obj/machinery/r_n_d/experimentor,/turf/simulated/floor/engine,/area/toxins/explab) +"ckw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/engine,/area/toxins/explab) +"ckx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_Toxins = 0},/turf/simulated/floor/engine,/area/toxins/explab) "cky" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/aft{name = "Aft Maintenance"}) "ckz" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/medical/medbay2{name = "Medbay Storage"}) "ckA" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1443; id = "air_in"},/turf/simulated/floor/plating/airless,/area/maintenance/incinerator) @@ -6024,9 +6024,9 @@ "clR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "clS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/research{name = "Research Division"}) "clT" = (/obj/machinery/vending/coffee,/obj/item/device/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{dir = 4; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"clU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/toxins/explab) -"clV" = (/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor,/area/toxins/explab) -"clW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/toxins/explab) +"clU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/engine,/area/toxins/explab) +"clV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/engine,/area/toxins/explab) +"clW" = (/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/engine,/area/toxins/explab) "clX" = (/obj/structure/closet,/obj/item/weapon/storage/box/donkpockets,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/maintenance/aft{name = "Aft Maintenance"}) "clY" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/assembly/infra,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating{icon_state = "warnplate"},/area/maintenance/aft{name = "Aft Maintenance"}) "clZ" = (/obj/structure/table,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -6107,7 +6107,7 @@ "cnw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/toxins/explab) "cnx" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cny" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/spawner/window{useFull = 1; tag = "fullWin"},/turf/simulated/floor/plating,/area/medical/sleeper{name = "Sleepers"}) -"cnz" = (/obj/machinery/door/poddoor/preopen{id_tag = "telelab"; name = "test chamber blast door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/toxins/explab) +"cnz" = (/obj/machinery/door/poddoor/preopen{id_tag = "telelab"; name = "test chamber blast door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/engine,/area/toxins/explab) "cnA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cnB" = (/obj/machinery/door/airlock/maintenance{icon_state = "door_closed"; locked = 0; name = "Storage Room"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cnC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -6159,9 +6159,9 @@ "cow" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) "cox" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 6},/obj/item/weapon/pen,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) "coy" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/device/taperecorder{pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) -"coz" = (/obj/machinery/computer/telescience,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) -"coA" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) -"coB" = (/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -2; pixel_y = -1},/obj/item/weapon/reagent_containers/dropper,/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = 6},/obj/item/stack/medical/ointment,/obj/item/device/healthanalyzer,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) +"coz" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/experimentor,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) +"coA" = (/obj/machinery/computer/rdconsole/experiment,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) +"coB" = (/obj/machinery/door_control{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bottle/charcoal{pixel_x = -2; pixel_y = -1},/obj/item/weapon/reagent_containers/dropper,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/stack/medical/advanced/ointment,/obj/item/device/healthanalyzer,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) "coC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/toxins/explab) "coD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = 1},/obj/effect/spawner/lootdrop{loot = list(/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/structure/grille,/obj/item/weapon/cigbutt,/obj/item/trash/cheesie,/obj/item/trash/candy,/obj/item/trash/chips,/obj/item/trash/pistachios,/obj/item/trash/plate,/obj/item/trash/popcorn,/obj/item/trash/raisins,/obj/item/trash/sosjerky,/obj/item/trash/syndi_cakes); name = "maint grille or trash spawner"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "coE" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/aft{name = "Aft Maintenance"}) @@ -7267,7 +7267,6 @@ "cJM" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cJN" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cJO" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) -"cJP" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard) "cJQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11},/obj/effect/spawner/window{useFull = 1; tag = "fullWin"},/turf/simulated/floor/plating,/area/medical/virology) "cJR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Isolation B"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/virology) "cJS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Isolation A"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/virology) @@ -8114,7 +8113,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhIbhJbhKbhLbfVbhMbhNbhMbhNbhMbhNbhMbfVbhObhPaZZbcPbhQbcRbhRbhSbhTbhUbhVbhWbcRbhXbhYbhZbiabibbicbidbiebifbigbihbiibijbikbilbimbinbiobipbiqbirbisbitbiubePbbCbgDbdkbivbiwbixbiybdkbizbiAbeYaaiaaibiNbiCbiDbiEbiFbiGbiHbiIbiJbiKbiLbiMbjyaaiaaibdqbiObiPbiQbiRbiSbiTbiUbdqbdsbiVbiWbiXbiYbiZbiYbjabjbbjcbiYbiYbiYbjdbiYbjebjfbjgbjhbiYbiYbjibjebjabjdbjjbjkbjicXGbjmbjnbjobjpbjqbjrbjsbjtbjubjvbjwbjxbjVbjzbjzbjAbjBbjCbjDaaaaaaaaaaaiaaaaaaaaaacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiacqbhxbhybjEbhybjFaTTaaaaaaaaaaTQbjGbjHaZDbjIbjJbjKbjLbjMbjNaZCaZJaTQaTQaTQaTQbjOaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabekbfVbfVbejbfVbhMbhNbhMbjPbhMbhNbhMbfVbhObhPaZZbjQbjRbjSbjTbjUbkubjWbkubeobeobjXbjYbcWbbqbjZbkabkbbkcbkdbkebkfbbqbkgbkhbkdbgwbkibbqbkjbkkbklbkmbknbgebgCbbCbgDbdkbkobkpbkqbkrbdkbksbktbeYbgQbmHbgQbkvbkwbkxbkybkxbkzbkxbkybkxbkAbkBbgQbmHbgQbdqbkCbkCbkCbkDbkEbkFbkGbdqbkHbkIbkJbkKbkLbkMbkLbkNbkLbkObkLbkLbkLbkPbkLbkQbkRbkSbkTbkLbkLbkUbkVbkWbkPbkXbkPbkYbkZblabjnblbblcblcbldbleblcblcblfblgblhblibjzbjzbljbhvbhvblkaaaaaaaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibllaaaaaaaaaaaibfLbfLbfIblmaTNaTTaaaaaaaaaaTQaTQbhBaZCaZCaZCblnaZCaZCaZCaZCbloaXUblpaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhIblqblrbhLbfVbhMbhNbhMbhNbhMbhNbhMbfVbhObhPaZZblsbltblublvblwblxblxblyblzblvblAblBblCbbqblDblEblFblGblHblIblJbbqblKblLblMblNblObbqblPblQblRblSblTbbAblUbfhblVblWblWblWblWblWbdnblXblYbdnbgQblZbmabmbbkybkybkybkybmcbkybkybkybkybmdbmebmfbgQbmgbmhbmibmjbmkbmlbmlbmmbdqbmnbmobmpbmqbmrbmsbmrbmtbmrbmubmrbmrbmvbmrbmrbmwbmxbmrbmybmvbmzbmAbmwbmBbmrbmCbmDbmEbmFbmGbnCbmIbmJbmKbmLblhbmMbmMbmNbmObmPbmQbjnbjnbjnacYbmRaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaabmSbmTbmUbmVbmWbmXbmYbmZaTNaTQaTQaTQaTQaTQbnabnbbnabnabncbndbncbnebnebnfbngbnhaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnibeibeibfTbnjbfVbnkbfVbnlbnmbfVbnnbfVbgcbnoaZZbcPbnpbnqbnrbnsbntbnubnvbnwbnrbnxbnybnzbbqbnAbdpbnBbnEbbqbbqbbqbbqbbqbdpbnDbohbbqbbqbgebnFbnGbgebgebnHbabbbCbnIblWbnJbnKbnLblWbnMbnNbnObnPbnQbnRbnSbnTbnUbnVbnWbnXbnYbnWbnWbnZbnUboabobbocbgQbdqbkCbkCbkCbodbkCbkCbkCbdqboebbCbofbogbomboibombogbojbojbojbojbojbojalBalBbokalBalBalBbolcJPalBalBalBbonalBboobopboqborbosbotboubovbmMbowbowboxbmOboybfHbjnbozboAboBboCboDboDboEboFaaiaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaabmSboGboHaaaaaiboIboJboKboLboMboNbnaboOboPboQboRboSboTbnaboUboVboWboXboYboZboZbpaaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnibeibeibfTbnjbfVbnkbfVbnlbnmbfVbnnbfVbgcbnoaZZbcPbnpbnqbnrbnsbntbnubnvbnwbnrbnxbnybnzbbqbnAbdpbnBbnEbbqbbqbbqbbqbbqbdpbnDbohbbqbbqbgebnFbnGbgebgebnHbabbbCbnIblWbnJbnKbnLblWbnMbnNbnObnPbnQbnRbnSbnTbnUbnVbnWbnXbnYbnWbnWbnZbnUboabobbocbgQbdqbkCbkCbkCbodbkCbkCbkCbdqboebbCbofbogbomboibombogbojbojbojbojbojbojalBalBbokalBalBalBbolcjdalBalBalBbonalBboobopboqborbosbotboubovbmMbowbowboxbmOboybfHbjnbozboAboBboCboDboDboEboFaaiaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaabmSboGboHaaaaaiboIboJboKboLboMboNbnaboOboPboQboRboSboTbnaboUboVboWboXboYboZboZbpaaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnibeibpbbeibekbeibeibekbeibejbpcbpdaSIbpebpfbpgbbAbphbpibpjbpibpkbbAbplbpmbpnbpobppbpqbprbpsbptbpqbpubpvbpqbppbppbpwbppbpxbpybpzbpAbpBbppbpCbpDbpEbgDbqfbpGbpHbpIblWbeYbeYbeYbeYbgQbpJbpKbpLbpMbpNbpObkybpPbpQbpRbpSbpMbpTbpUbpVbpWbdqbpXbpYbpZbqabqbbkCbqcbdqbqdbbCbqebvFbqgbqhbqibogbqjbqkbqlbqmbqnbqobqpbqqbqralBbqsbqtbqubqvbqwalBatxbqxalBbqybqzbqAbjVbqBbqBbqBbqCbqDbmMbmMbqEbqFbqGbqHbqIbqJbqKbqLbqMbqNbqNbqObqPbqQbqQbqQbqRbqQbqQbqQbqQbqQbqQbqRbqQbqQbqQbqQbqQbqQbqRbqQbqSbqTbqNbqNbqNbqUbqVbqWbqXbqXbqYbqZbrabrbbrcbrdbrebrfbrgbrhbribrjbrkbrlbrmbrnbrobrpaXRaXRbrqaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaaaZZaZLaZZaZZaZZaZZaZZaZZaZLaZZaaaaSIbrrbrsbrtbbAbrubrvbrwbrvbrxbbAbrybrzbrAbrBbrBbrCbrDbrBbrBbrEbrFbrGbrHbrBbrBbrIbrBbrBbrBbrJbrKbrLbrLbrMbrNbrObrPblWbrQbrRbrSblWbrTbrUbrVbrWbrXbpSbrYbpNbrZbsabsbbscbsdbscbsebsfbsgbshbsibsjbskbdqbslbsmbsnbsobspbdqbdqbdqbdsbsqbsrbogbssbstbsubogbsvbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbsIbsJbsKbsLbsMalBboobsNbsObjnbsPbsQbsRbsSbsTbsUbsVbsWbsXbmObsYbsZbtabtbbtcaSHaaaaaabtdboHaaiaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaabtebtfboFaaaaaiaVibtgbthbtibtjbtkbtlbtmbtnbtobtpbtqbtrbtsbttbtubtvbtwbtxboZbtybtzaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaaiaaaaaiaaaaZZbtAaZZbtBbtCbaYbtDaZZbtAaZZaZZaSIbcPbtEbtFbbAbtGbrvbtHbrvbtIbbAbtJbtKbtLbtMbtNbtObtPbtQbtRbtSbtTbtUbtNbtNbtNbtVbtNbtWbtXbtPbtYbtNbtNbtZbuabubbrPblWbucbudbuebufbugbuhbugbugbrXbuibujbukbukbukbulbumbunbuobupbukbukbukbuqburbgQbdqbusbutbuubuvbuwbdqbuxbuybuzbuAbsrbombuBbuCbuDbogbuEbuFbuGbuHbojbojalBalBbuIalBalBalBbuJbuKalBalBbuLbuMalBbuNbsNbuObjnbfHbfHbfHbfHbuPbfHbfHbuQbuRbuSbjnbjnbuTbuUbuVbuWaaabmSbuXaaaaaiaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaabtebtfboFaaibuYbuZbvabvbbvcbvdbnabvebvfbvgbvhbvibvjbnabvkbvlbvmbnebvnbvoboZbpaaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8144,11 +8143,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaceyaaaaaaaaiaaaaaiaaabVsbVsbVscajbVscezceAceBceCceDceEceFccUccUccOceGbVsceHceIbVsbZjceJceKceLbZpceMceNceOcePceQceRceSceTceTceUceTceVceWceXceXceYceZcfacfbcfccfdcfecffcdxcdycdycdycfgcfhcficfjcfkcflchacfncfocfpcaTcfqbUSbUSbUSbUSbUTbUTcfrbUTbUTbUTbUTbUTbUTbUTbUTbUTbUTbUTbUTbUTcfscftalBcfucfvcbgcfwcfxcfycfzcfAcfBcfCbyGcfDcfDcfEcfDcfFcfDcfEcfGcfFcfFbMGcfDcfHcfIcfJbyGbyGbyGcfKcfLcewcfMcfKaaabAWaaaaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaacfNaaaaaaaaiaaacfOcfOcfPcfQbVscfRcfScfTbVsbVsbVscfUcfVccUcfWcfXbVsbVsbVscfYcfZbVscgacgacgacgacgacgacgacgbcePcgccgdcgeceTcgfcggcghcgicgjcgkcglcgmcgncgocgpchbcbScgrcbUcdncgscgtcgucgvcgwcgxcgycgzcgAcaTcgBcgCcgDcaTcgEcgFcgFcgFcgGcgFcgHcgIcgJcgFcgFcgKcgFcgFcgFcgFcgLcgMcgNcgObYKcgPcgQcgRcgSbRicbgcgTcgUcgVcgWcgXcgYcgZbyGbyGbyGchcbCnchEbCnchcbCnchEchEciDbCnciDbyGbyGbyGaaiaaiaaichdcewaSHaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaagaaicheaaiaaiaaiaaaaaiaaibVsbWQchfchgbVsbVsbVschhbVsbVsbVsbVsbVsbVsbVschichjceHchkchlcgachmchnchochpchqcgachrchschtchuchvceTchwchxchychzchAchBchCchDciGchFciGchGchHcgrchIchJchKchKchKchKchLchMchNchOchPcaTchQchRchScaTchTchUchVchVchVchVchWchVchXchXchXchXchXchXchXchXchXchYbVschZapoapoapoalBapoavHcbgciacibciccgWcidciecifcgWaaiaaicigaaicihaaicigaaiciicijcikaaicikaaiaaiaaiaaiaaaaaacilcewcimaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaogaaacinaaaaaiaaaaaaaaiaaabVsciobVsccJccKceAcipceAceAciqcircircirciscircircircitciucivciwcixciycizciAciBcgabZpciCckzciEbZpceTciFclGceTciHciIchCciJciKciLciMciNchCciOciPciQchKciRciSciTciUciTciVchKciWciXciYciZciYcaTcaTcjabVschVcjbcjccjdcjecjfchXcjgcjgcjgcjhcjicjjcjgchXchYbVscjkapncjlcjmalBcjncjocbgcjpcjqcjrcgWcgXcjscjtcgWaaibCEcjubCncjubCEcjubCncjubCEcjvbCncjwbCEaaiaaaaaiaaiaaicjxcewcjyaaiaaiaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaogaaaceyaaaaaiaaaaaaaaiaaabVsbVsbVsbVsbVsbVsbVsbVsbVscjzcjAcjAcjBcjCcjCcjCcjCcjDcjCcjCcjCcjEcjFcjGcjHcjIcjJcjKcjLcjMcjNcjOcjPcjQcjRcjScjTcjUcjVcjWcjXcjYcjZckachCckbcgrchIchLckcckdckeckfckgckhchKckickjckkcklchVbZjceJckmcbuchVcknckockpckqckrchXckscktckuckvcjgckwckxchXckybVsbVsbVsbVsbVsalBalBalBcbgcbgcbgcmrcgWckAckBckCckDaaibCEckJckLckKbCEckMcmicmhbCEcmjcmlcmkbCEaaiaaaaaiaaabyGckNckOckPckQaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaagaaacfNaaiaaiaaiaaiaaiaaabVsckRckSckTckUckVckWckXbVscjzcjAckYckZclaclbclccjAcldcleclfcjAclgclhclicljclkcllclmclncloclpclqclrclqclpclqclscltcluclvclwclxclyclzciGciOcgrchIchKclAclBclCclDclEclFcmMclHclIclJclKchVclLclMclNclOchVclPclQclRclSclTchXcjgcjgclUcjgcjgclVclWchXchYbVsclXclYbVsclZcmacmbcmccmdcmealBcmfcgWcgWcmgcgWcgWaaibCEcmmcXjcnKbCEcXkcXmcXlbCEcXncXpcXobCEaaiaaiaaiaaickQcmncmocmpcmqaaiaagaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaogaaacinaaaaaiaaaaaaaaiaaabVsciobVsccJccKceAcipceAceAciqcircircirciscircircircitciucivciwcixciycizciAciBcgabZpciCckzciEbZpceTciFclGceTciHciIchCciJciKciLciMciNchCciOciPciQchKciRciSciTciUciTciVchKciWciXciYciZciYcaTcaTcjabVschVcjbcjccjgcjecjfchXcjhcjhcjhcjjcjickscjhchXchYbVscjkapncjlcjmalBcjncjocbgcjpcjqcjrcgWcgXcjscjtcgWaaibCEcjubCncjubCEcjubCncjubCEcjvbCncjwbCEaaiaaaaaiaaiaaicjxcewcjyaaiaaiaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaogaaaceyaaaaaiaaaaaaaaiaaabVsbVsbVsbVsbVsbVsbVsbVsbVscjzcjAcjAcjBcjCcjCcjCcjCcjDcjCcjCcjCcjEcjFcjGcjHcjIcjJcjKcjLcjMcjNcjOcjPcjQcjRcjScjTcjUcjVcjWcjXcjYcjZckachCckbcgrchIchLckcckdckeckfckgckhchKckickjckkcklchVbZjceJckmcbuchVcknckockpckqckrchXcjhckucktckvcjhckxckwchXckybVsbVsbVsbVsbVsalBalBalBcbgcbgcbgcmrcgWckAckBckCckDaaibCEckJckLckKbCEckMcmicmhbCEcmjcmlcmkbCEaaiaaaaaiaaabyGckNckOckPckQaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaagaaacfNaaiaaiaaiaaiaaiaaabVsckRckSckTckUckVckWckXbVscjzcjAckYckZclaclbclccjAcldcleclfcjAclgclhclicljclkcllclmclncloclpclqclrclqclpclqclscltcluclvclwclxclyclzciGciOcgrchIchKclAclBclCclDclEclFcmMclHclIclJclKchVclLclMclNclOchVclPclQclRclSclTchXcjhcjhclUcjhcjhclWclVchXchYbVsclXclYbVsclZcmacmbcmccmdcmealBcmfcgWcgWcmgcgWcgWaaibCEcmmcXjcnKbCEcXkcXmcXlbCEcXncXpcXobCEaaiaaiaaiaaickQcmncmocmpcmqaaiaagaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaogaaacfNaaiaaaaaaaaaaaiaaacnxcmscmtcmucmvckVcmwcmxbVscjzcjAcmycmzcmAcmBcmCcmDcmEcmFcmGcjAcmHcmIcmJcmKcmLcnycmNcmOcmPcmQcmRcmScmScmScmTcmUcmVcmWcmXclwcmYcmZcnachCcnbcgrcncchKcndcnecnfcngcnhcnichKcnjcnkcnlcnmchVcnncnocnpcnqchVcnrcnscntcnucnvchXchXcnwcnQcnRcnRchXcnzchXcnAcnBcnCcnDbVscnEapoapoapobZgcnFbVscnGcnHcgWcnIcgWcnJaaibCEcmmcXqcmmbCEcXkcXrcXkbCEcXscXtcXsbCEaaiaaaaaiaaacmqcmocnLcmocewaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaagaaicfNaaiaaaaaaaaaaaiaaacnxcnMcmwcmtcnNckVcnObVsbVscnPcjAcnUcnScnUcnWcnUcjAcnUcnTcnUcjAcgacobcnVcoccgacgacnXcnYcnZcoacoacodcpBcpecoacoacoechCcofcogcohcoichCchCcojcgrcokchKchKcolcomconcoocopchKcoqciXcaScaSchVcorchVcoschVchVcaScotcoucaScaScovcowcoxcoycozcoAcoBcoCchXcoDbVscoEcoFbVscoGbZgccOccUcoHcoIbVscoJcoKcoLcoMcoLaofaaibCEbCEbCEbCEbCEbCEbCEbCEbCEbCEbCEbCEbCEaaiaaiaaiaaicewcmocmocmocmqaaibAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaagaaicfNaaiaaaaaaaaaaaiaaacnxcnMcmwcmtcnNckVcnObVsbVscnPcjAcnUcnScnUcnWcnUcjAcnUcnTcnUcjAcgacobcnVcoccgacgacnXcnYcnZcoacoacodcpBcpecoacoacoechCcofcogcohcoichCchCcojcgrcokchKchKcolcomconcoocopchKcoqciXcaScaSchVcorchVcoschVchVcaScotcoucaScaScovcowcoxcoycoAcozcoBcoCchXcoDbVscoEcoFbVscoGbZgccOccUcoHcoIbVscoJcoKcoLcoMcoLaofaaibCEbCEbCEbCEbCEbCEbCEbCEbCEbCEbCEbCEbCEaaiaaiaaiaaicewcmocmocmocmqaaibAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaaiaaaaaaaogaaacheaaaaaaaaaaaaaaiaaacnxcoNcmtcnNcoOckVcoPcoQbZkcjzcjAcoRcoScoTcoUcoVcjAcoWcoXcoYcjAcoZcpacpbcpccpdcqjcpfcbNcpgcoacphcpicpjcpkcplcoabXRchCcpmcpncpocppciGcpqcprcpscptcpucpvcpwcpxcpycpzcpAcrKcpCcpDcpEcpFcpGcdycpHcpIcpJcdycpKcpLcpMcdycpNcovcpOcpPcpQcpRcpScpTcpUchXchYbVsbVscpVbVscpWcpXccUccUcpYcpZcnxaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaacewcmqckQbyGckQaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaaiaaaaaaaagaaacinaaiaaaaaaaaaaaiaaacnxcnxcmtckVckVcmtcmtcqabZkcjzcjAcqbcqccqdcqecqfcjAcqgcqhcqicticqkcqlcqmcqncqocqpcqqcbNcbOcodcqrcqscqtcqucqvcoaccOchCcqwcqxcqycqzcqAcqBcqCcgrcqDcqEcqFcqGcqHcqIcqJcqKcqLcqMcqNcqOcqPcqQcqRcqScqTcqUcqVcqUcqWcqXcqYcqZcracrbcrccrdcrecrfcrgcrhcricrjbVscrkcrlcrmbWScoHccUccUcrncrobVscrpaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaiaaaaaiaaaaaaaaiaaaaaiaaaaaaaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaiaaiaaaaaaaogaaaceyaaaaaaaaaaaaaaiaaacnxcrqcmtcrrcmtcmtcnObVsbVscrscrtcrucqccrvcqecrwcrxcrycrzcrAcrBcrCcrDcrEcrFcrGcrHcrIcrJceWctjcrLcrMcrNcrOcrNcrPcrQchCcrRcrScrTcrUciGcqBcqCcgrcqDcrVchLcrWcrXcrYcrZcsacrKcsbcsccsdcsecsfcsgcshcsicdDcdDcsjcskcslcsmcsncsocspcsqcsrcsscstcsucsvchXchYbVscswcsxcsycnCcszcpYchZccUcsAcnxaaaaaiaaaaaaaaaaaiaaiaagbAVbAVbAVbAVbAVbAVaagbAVbAWbAVbLeaaibAWaaiaaiaagbMKbMKbMKaagaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 915a9cd2b3a..4200e1868e2 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -2924,7 +2924,7 @@ "bel" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id_tag = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbreak) "bem" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "cmooffice"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cmo) "ben" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "cmooffice"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cmo) -"beo" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "telescienceblast"; name = "test chamber blast doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/telesci) +"beo" = (/obj/machinery/power/apc{dir = 1; name = "Telescience Pad APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/engine,/area/toxins/explab_chamber) "bep" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id_tag = "scanhide"; name = "Scanning Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "beq" = (/obj/machinery/door/firedoor{dir = 1; name = "Firelock North"},/turf/simulated/floor,/area/hallway/secondary/entry) "ber" = (/obj/machinery/door/firedoor{dir = 1; name = "Firelock North"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor,/area/hallway/secondary/entry) @@ -3082,7 +3082,7 @@ "bhn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/secondary/exit) "bho" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/secondary/exit) "bhp" = (/obj/item/flag/nt,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor,/area/hallway/secondary/exit) -"bhq" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/toxins/telesci) +"bhq" = (/turf/simulated/floor/engine,/area/toxins/explab_chamber) "bhr" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/engine/controlroom) "bhs" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/medical/virology) "bht" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/apmaint) @@ -5207,11 +5207,11 @@ "bWg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) "bWh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) "bWi" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics) -"bWj" = (/obj/machinery/power/apc{dir = 1; name = "Telescience Pad APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/engine,/area/toxins/telescipad) +"bWj" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab_chamber) "bWk" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 73; dir = 2; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bWl" = (/turf/simulated/floor/engine,/area/toxins/telescipad) -"bWm" = (/obj/machinery/camera{c_tag = "Research Telescience Telepad"; dir = 2; network = list("Telepad","Research","SS13"); pixel_x = 0},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bWn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/engine,/area/toxins/telescipad) +"bWl" = (/obj/machinery/camera{c_tag = "E.X.P.E.R.I-MENTOR Chamber"; dir = 2; network = list("Telepad","Research","SS13"); pixel_x = 0},/obj/machinery/light{dir = 1; on = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bWm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bWn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/explab_chamber) "bWo" = (/obj/machinery/r_n_d/server/core,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 250; oxygen = 0; temperature = 0},/area/toxins/server_coldroom) "bWp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/storage) "bWq" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/toxins/storage) @@ -5289,11 +5289,11 @@ "bXK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/medical/genetics) "bXL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/wall,/area/medical/genetics) "bXM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall,/area/medical/genetics) -"bXN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bXO" = (/obj/machinery/telepad,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bXP" = (/obj/item/device/radio/beacon,/turf/simulated/floor/engine,/area/toxins/telescipad) -"bXQ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bXR" = (/turf/simulated/wall/r_wall,/area/toxins/telescipad) +"bXN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bXO" = (/obj/effect/landmark{name = "blobstart"},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bXP" = (/obj/machinery/r_n_d/experimentor,/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bXQ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bXR" = (/turf/simulated/wall/r_wall,/area/toxins/explab_chamber) "bXS" = (/turf/simulated/wall/r_wall,/area/toxins/storage) "bXT" = (/obj/item/weapon/cigbutt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) "bXU" = (/obj/effect/decal/warning_stripes/yellow,/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) @@ -5365,9 +5365,9 @@ "bZi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/medical/psych) "bZj" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1},/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bZk" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/device/flashlight/lamp/green{pixel_x = -5; pixel_y = 12},/obj/item/weapon/paper/ntrep,/turf/simulated/floor/carpet,/area/ntrep) -"bZl" = (/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bZm" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bZn" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/engine,/area/toxins/telescipad) +"bZl" = (/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bZm" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/engine,/area/toxins/explab_chamber) +"bZn" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/engine,/area/toxins/explab_chamber) "bZo" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) "bZp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bZq" = (/obj/effect/landmark/start{name = "Scientist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -5432,12 +5432,12 @@ "cax" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/carpet,/area/medical/psych) "cay" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/carpet,/area/medical/psych) "caz" = (/obj/machinery/camera{c_tag = "Medbay Psych Office"; dir = 8; network = list("SS13")},/obj/machinery/power/apc{dir = 4; name = "Psychiatrist APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/medical/psych) -"caA" = (/turf/simulated/wall/r_wall,/area/toxins/telesci) -"caB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "telescienceblast"; name = "test chamber blast doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/telesci) +"caA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "telescienceblast"; name = "test chamber blast doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/explab) +"caB" = (/turf/simulated/wall/r_wall,/area/toxins/explab) "caC" = (/obj/machinery/door/firedoor{layer = 2.6; name = "\improper Firelock South"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "10"; req_one_access_txt = null},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) "caD" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "caE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/power/port_gen/pacman,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"caF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/toxins/telesci) +"caF" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "telescienceblast"; name = "test chamber blast doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/engine,/area/toxins/explab) "caG" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) "caH" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) "caI" = (/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) @@ -5527,13 +5527,13 @@ "cco" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light,/turf/simulated/floor/carpet,/area/medical/psych) "ccp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair/comfy/lime{dir = 1},/turf/simulated/floor/carpet,/area/medical/psych) "ccq" = (/obj/structure/stool/psychbed,/turf/simulated/floor/carpet,/area/medical/psych) -"ccr" = (/obj/machinery/door_control{id = "telescienceblast"; name = "Test Chamber Blast Doors"; pixel_x = -25; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"ccs" = (/turf/simulated/wall,/area/toxins/telesci) -"cct" = (/obj/structure/table,/obj/item/device/gps/science{gpstag = "SCI4"},/obj/item/device/gps/science{gpstag = "SCI3"},/obj/item/device/gps/science{gpstag = "SCI2"},/obj/item/device/gps/science{gpstag = "SCI1"},/obj/item/device/gps/science,/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/telesci) -"ccu" = (/obj/machinery/computer/telescience,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/telesci) -"ccv" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/bluespace_crystal/artificial{pixel_x = -2; pixel_y = -3},/obj/item/bluespace_crystal/artificial{pixel_x = 4},/obj/item/bluespace_crystal/artificial{pixel_y = 3},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/telesci) -"ccw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/l3closet/scientist,/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/telesci) -"ccx" = (/obj/structure/closet/emcloset,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/telesci) +"ccr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/toxins/explab) +"ccs" = (/obj/machinery/door_control{id = "telescienceblast"; name = "Test Chamber Blast Doors"; pixel_x = -25; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cct" = (/obj/structure/closet/radiation,/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/explab) +"ccu" = (/turf/simulated/wall,/area/toxins/explab) +"ccv" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/experimentor,/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/explab) +"ccw" = (/obj/machinery/computer/rdconsole/experiment,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/explab) +"ccx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/l3closet/scientist,/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/explab) "ccy" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "Toxins Storage APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) "ccz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) "ccA" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) @@ -5619,13 +5619,13 @@ "cec" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/storage/secure) "ced" = (/obj/machinery/shield_gen,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/storage/secure) "cee" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cef" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"ceg" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the telepad chamber."; layer = 4; name = "Telepad Camera Screen"; network = list("Telepad"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"ceh" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cei" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cej" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cel" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) +"cef" = (/obj/structure/closet/emcloset,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/explab) +"ceg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"ceh" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cei" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the E.X.P.E.R.I-MENTOR chamber."; layer = 4; name = "E.X.P.E.R.I-MENTOR Camera Screen"; network = list("Telepad"); pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cej" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cel" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) "cem" = (/obj/machinery/door/firedoor{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/toxins/storage) "cen" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "ceo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -5698,12 +5698,12 @@ "cfD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) "cfE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) "cfF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay2) -"cfG" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cfH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cfI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cfJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cfK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cfL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) +"cfG" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cfH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cfI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cfJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cfK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cfL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) "cfM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) "cfN" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "cfO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -5756,13 +5756,13 @@ "cgJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay Psych Office Corridor East"; dir = 1; network = list("SS13")},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) "cgK" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) "cgL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 4},/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"cgM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cgN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cgO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cgP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cgQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cgR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cgS" = (/obj/machinery/door/firedoor{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Telescience"; req_access_txt = "47"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) +"cgM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cgN" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/toxins/explab) +"cgO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cgP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cgQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cgR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cgS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) "cgT" = (/obj/machinery/light,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "cgU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "cgV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -5812,7 +5812,7 @@ "chN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/construction) "chO" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/sleeper) "chP" = (/obj/machinery/bodyscanner,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper) -"chQ" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/telescipad) +"chQ" = (/obj/machinery/door/firedoor{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "E.X.P.E.R.I-MENTOR Lab"; req_access_txt = "47"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) "chR" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "Medbay Treatment Center APC"; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/sleeper) "chS" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Scanning Room"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "chT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2) @@ -5834,13 +5834,13 @@ "cij" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/biostorage) "cik" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cil" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/medical/medbay2) -"cim" = (/obj/machinery/light,/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cin" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "Bridge APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/device/radio,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cio" = (/obj/machinery/camera{c_tag = "Research Telescience"; dir = 1; network = list("Research","SS13")},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cip" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) +"cim" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cin" = (/obj/machinery/light,/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cio" = (/obj/machinery/camera{c_tag = "E.X.P.E.R.I-MENTOR Lab"; dir = 1; network = list("Research","SS13")},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cip" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "E.X.P.E.R.I-MENTOR Lab APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/weapon/folder,/obj/item/weapon/folder,/obj/item/device/radio,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) "ciq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/carpet,/area/medical/psych) -"cir" = (/obj/machinery/telepad_cargo,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"cis" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) +"cir" = (/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cis" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) "cit" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/medical/research{name = "Research Division"}) "ciu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/research{name = "Research Division"}) "civ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -5898,11 +5898,11 @@ "cjv" = (/turf/simulated/wall/r_wall,/area/medical/biostorage) "cjw" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cjx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cjy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/telesci) -"cjz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Telescience Maintenance"; req_access_txt = "47"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cjA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall/r_wall,/area/toxins/telesci) -"cjB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area/toxins/telesci) -"cjC" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall/r_wall,/area/toxins/telesci) +"cjy" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/telepad_cargo,/turf/simulated/floor{icon_state = "white"},/area/toxins/explab) +"cjz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/explab) +"cjA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{name = "E.X.P.E.R.I-MENTOR Lab Maintenance"; req_access_txt = "47"},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"cjB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area/toxins/explab) +"cjC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall/r_wall,/area/toxins/explab) "cjD" = (/obj/structure/rack{dir = 1},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cjE" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/rack{dir = 1},/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cjF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -6271,7 +6271,7 @@ "cqE" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor,/area/engine/controlroom) "cqF" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/obj/machinery/body_scanconsole,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper) "cqG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/construction) -"cqH" = (/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) +"cqH" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall/r_wall,/area/toxins/explab) "cqI" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "dark"},/area/construction) "cqJ" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor{icon_state = "dark"},/area/construction) "cqK" = (/obj/structure/table,/obj/item/weapon/wirecutters,/turf/simulated/floor{icon_state = "dark"},/area/construction) @@ -6977,6 +6977,7 @@ "cEi" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/stack/sheet/mineral/plasma{amount = 5; layer = 2.9},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cEj" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cEk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) +"cEl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cEm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cEp" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/plating/airless,/area/space) "cEq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) @@ -7885,7 +7886,6 @@ "cZr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/toxins/server_coldroom) "cZs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/server) "cZt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/turf/simulated/wall/r_wall,/area/toxins/server) -"cZu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/toxins/telescipad) "cZv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/hallway/secondary/construction{name = "\improper Garden"}) "cZw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/hallway/secondary/construction{name = "\improper Garden"}) "cZx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/hallway/secondary/construction{name = "\improper Garden"}) @@ -8161,17 +8161,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNBbQrbQsbQtbQuaXVbQwbQxbQybQzbLXbBZbQAbQBbttbttbEebQCbscbPsbPrbQDbQEbQDbQFbQGbQGbQHbQIbQJbQGbQGbQKbQGbQLbQGbPrbPsbscbQMbQNbQObQPbQQbQRbttbNRbQSbPzbQTbQUbQVbHxbQWbQXbagbafbahbRbbajbaibHxbRebRfbJsbRgbRhbRhbZjbRjbRkbRlbRmbJxbRnbRobLcbRpbRqbJybPXbRvbRtbRwbRubSRbSQbRxbOtbRybQfbRzbRzbOxbRAbRBbRCbRDbREbRFbRGbRHbRIbRJbLvbNkbumbRKaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzOaaaaaaaaaaaaaaaaaaaaaaaabRLbRMbRNbRMbROaaaaaaaaabNBbNBbZubRQbQtbRRaXVbRTbOSbRUbRVbLXbBZbRWbRXcagbRZbSabSbbScbSdbSebSfbSgbShbSibSjbSjbSkbSlbSlbSlbSlbSlbSlbSmbSnbSobSpbSqbSrbRZcaqbStbSubSvbSwbNRcarbPzbPAbSybQVbHxbQWbQXbakbSAbSBbSCbSDbalbHFbSFcaIbJsbJsbambambJsbRjbJubSJbSKbJxbSLbSMbSNbSObSPbJybPXbWobSTcZnbancZobSUbSVbOtbSWbQfbRzbRzbOxbSXbSYbSZbTabTbbTcbTdbTebTfbTgbLvbNkbThbBgbThbTjbTkbTjbTjbTjaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTlbTmbTnbTobTlbaDbaDbaDbNBbTsbTtbTubTvbTwbTxbTybTzbTzbTAbLXbTBbTCbTDbTEbTEbaEbTGbaFbTEbTIbTIbaGbTKbbRbTIbTIbTMbPrbPrbTNbTObTObTObTPbTQbTObTObTRbTSbTTbTTbTUbTTbTVbTWbTTbbUbTYbTZbNRbUabUbbQWcdNbUdbUebUfbUgbUhbUdbHxbRebUibUjbUkbUlbUmbUnbUobUpbUqbUrbUsbUtbUubUvbUwbUxbJybPXbPXcZpcZrcZqcZscZqcZtbOtbUybUzbUAbUAbOxbUBbUCbUDbLvbLvbLvbLvbLvbLvbLvbLvbNkbThbUEbUFbUGbUHbUHbUIbTjaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbcgbcgbcgbcgbUMbUMbUNbUNbUNbUNbUOaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUPbUQbUPbRNbaDbUSbUTbUUbUVbUWbUXbUYbUZbLXbVabVbbVcbVdbLXbTCbTCbVebTEbWXbVgbVhbVibVjbTIbWUbVlbVmbVnbVobTIbVpbVqbVrbTOceSbVtbVubVvbVwbVxbVybVzbVAbVBchhbVDbVEbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObQXbVPbVQbVRbVSbVTbVUbHFbVVbVWbVXbVYbUmbVZbVZbWabWbbJxbWcbWdbWebWfbWgbWhbWibJybWjchQbWlbWmbWlbWlbWncZubWpbWqbWrbWsbWtbOxbWubWvbOBbDbbvWbWwbWxbWybWybWxbWybWzbThbWAbWBbUGbUHbWCbWDbTjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgbWFbWGbWFbUMbUNbUNbWHbdqbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTlbWJbUPbUPbWKbWLbRQbWMbWNbWObRQbUXbWPbWQbLXbLXbLXbLXbLXbLXbWRbTCbWSbWTceLbWVbWVbWVbWWbTIbYtbWYbWYbWYbWZbXabXbbXcbXdbXebXfbXgbXhbXibXjbXkbTObTRbXlbTTbXmbXnbXobXpbXqbTTbQSbPAbQTbQUbXrbXsbXtbXubXvbXwbXxbXybXzbUdbXAbXBbXCbXDbXEbXFbXGbXHbXIbXJbJxbJxbJxbJxbJxbXKbXLbXMbJybXNbWlbWlbXObWlbXPbXQbXRbXSbXTbQfbXUbXUbOxbOzbXVbOBbDbbThbXWbThbThbThbThbThbThbThbXXbXYbTjbXZbYabYbbTjaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbYcbWFbWFbYdbUNbUNbWHbWHbYebWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUQbUQbUQbRNbaDbYgbYhbYibYZbRQbYkbYlbZIbYnbYobYobYobYpbTCbTCbTCbVebTEbYqbWVbYrbWVbYsbTIbYtbWYbYubWYbYvbTIbYwbYxbYybTObYzbYAbYBbYCbYDbYEbYFbYGbYHbYIbYJbYKbYLbYMbYNbTTcarbPAbPAbYObXrbXsbYPbYQbdCbVQbYSbYTbYUbekbYWbYXbYYbelbZabZbbZcbZcbVZbZdbUjbVkbZfbZgbZhbZiciqbZebXRbXNbZlbWlbWlbWlbZmbZnbXRbXSbZobQfbXUbXUbOxbZpbZqbOBbDbbZrbZsbZtbThcjsbZvbZwbZxbZybZzbZAbTjbZBbZCbZDbTjbThbThbThbThbThbThbThbThaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabZEbUNbYcbUNbUNbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabTlbZFbZGbZHbTlbaDbaDbaDbNBbYjbZJbZJbZJbNBbNBbTCbZKbZKbZLbZNbTCcdabZObTEbYqbWVbWVbWVbZPbTIbYtbWYbWYbZQbZRbZSbZTbZUbZVbTObTObTObTObTObZWbTObTObZXbZYbTTbTTbZZbTTbTWbTTbTTbNRcaacaabNRbNRcabcaccadbemcafckncahcaibencakcalbYYbelcancaocapckzclNcasbUjcatcaucavcawcaxcaycazcaAcaBcaAbeobeobeocaAcaFcaAcaAcaGcaHbXUbXUbOxcntbXVbOBcaJcaKcaLcaMcaNcaOcaPcaPcaQcaRcaScaTcaUcaVcaWcaXcaYcaZcbacbbcbccbdcbecbfcbgaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUMbUNcbhcbicbibWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbRMcbkbRMcblcbmaabaaabNBbNBbaDbaDbaDbNBaaabTCcbqcbrcbscbtbYocbucbvbTEcbwcbxcbybWVcbzcbAcbBcbCcbDcbEcbFbTIcbGcbHcbIcbJcbKcbKcbKcbKcbLcbMcbNcbOcbOcbPcbPcbQcbRcbSbTRbNRcbTcbUcbVcbWbepbXscbYcadbeObeLccbcccbajbePcceccfccgcchcchccicchcchcchccjbUjcckcclccmccnccoccpccqcaAccrccscctccuccvccsccwccxccsccycczbQgbOxbOxccAccBccCccDccEccFccGccHccIccJccKccLccMccNccOccPccQccRccQccSccRccRccRccTccUccVccWccXaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabccZbTCbTCbTCcqvbTCbTCcdbbTEcdccddcdecdfcdgcdhcdicdjbZkcdlcdmcbAcdncdocdpcdqcdrcdrcdrcdrcdscdtcducdvcdwcdvcdxcdycdzcdAcdBcdCcdDcdEcdFcdGcdHcdIcdJcdKcdLcdMcoWcdOcdPcdQcdRcdScdTcdTcdTcdUcdVcdWcdXcdYcdZcdZceacdZcebbffbgqbfRcaAcefcegcehceicehcejcekcelccsbOxcembOxbOxcenceobXVbzwbDbbThcepbThbThceqcercescetceuccRcevcewcexccKcexccKceyccKccKbThcezceAceBceCaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUNbWHbWHbWHbWHbWHbWHceDbWHceEbWHbWHbWHbWHbWHbUNbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZceFceGceHbTCceIbTEceJceKcdkbYqceMceNceObYtbVfceQceRceNcqyceTceUceVceVceWceXceYceZbWIcfbcfcbHTcfdbTRcfebHTbHTcffcfgcfhcficfjcdGcfkcflcfmcfncfocfpcfqcfrcfscfpcfpcftcfucfucfucfvcfucfwcfucfxcfycfzcfAcfBcfCcfDcfEcfFcaAcfGcfHcfIcfJcfIcfKcfLcehbhqcfNcfObzwcfPbzwceobXVbzwbDbcfQcfRcfSbThbThbThbThbThcfTccKcfUcfVceyccKcfWccKbXXccKcfXbThcfYcfZcgabThaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNcgbcgbcgbcgbcgbcgbcgcbWHcgdcgbceEbWHbWHbWHbWHbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZcgfcgecggbTCceIcghcghcghcghcghcghbTIbTIbTIbTIbTIbTIbTIcgicgjcgkcglcgmcgncgocgocgpcgqcfbbHTbHTcgrcgscgtbHTbHTbHTcgucgvcgwcdEcgxcgycgzcfucgAcgBcgCbQWcgBcgDcdTcdTcdTcdTcdTcdTcgBcdTcdTcdTbQWcgEcgFcgGcgHcgIcgJcgKcgLcaAcgMcgNcehcgOcehcgPcgQcgRcgScgTcgUcgVbzwcgWceobXVcgXbDbbDicgYcgZchabumbvWbvWbThchbchcchdchechfchgcqBchichjchkchlbThchmchnchochpaacaacaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaachqbWFbWFbWFbWFbWFbWFbWFchrchsbWHbWHbWHbWHchtbdqbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZccZccZccZbTCceIccZaaaaaaaaaaaachuchvchwchxchychzchAchBchCchDchEbhrchGchHchIchIchJchKchLchMchMchMchMchNchMbHTbHTbNRchOchPcqFchRchSchTcgIchUchVchWchXchYchZciacdTcdTcibcicbhsciebhscicbEDcifcigcigcihciicijcakcikcilcaAcimcinciocipcqHcirciscaAcaAbDbcitbDbbDbbDbciucivciwbDbbvWcgYcixciybumbumbumbThbThbThbThbThbThbThbThbThbThbThbThbThbThbThbThbThaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNcbicbicbicbicbicbicizbWHcbhcbiciAbWHbWHbWHbWHbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciBaaaaabaabciCciCciCciCciCciCciDciCbTCcdbbhtaaabhubjJbhYbjYciJciKciLciMciNciOciPciQciRciSciTciUciVciWciXciYciZchLcjacjbcjbcjbcjcchMbHTbHTcjdcjdcjdcjdcjecjdcjfcjfcjgcjdcjdcjhcjdcjicjjbkycjlbkycjmcjncjocjpcjqbuXbuXcjrcrccjtcjucjvcjwcjxcbScaAcaAcjycaAcjzcaAcjAcjBcjCcfdcjDcjFcjGcjHcjIcjJcjKcjLcjIbvWcgYcjMbvWcjNcjOcjPcjQcfQbvWbvWbvWbvWbvWbvWbvWcjRcjEaZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNbWHbWHbWHbWHbWHbWHceDbWHciAbWHbWHbWHbWHbWHbUNbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjTcjUcjUcjUbkzcjWcjXcjYcjZckackbciDcjScdbbhtaaabmZckgckhckickjciKckkbURckmcsXchBckoceTbZUbhrckpcgockqcgockrcksbneckuckvckvckvckwchMbHTbHTcjdckxckycsYckAckBckCckCckDckEckFckGckHckIckJckKcdXcdXckLckMckNckOckPaaaaaacjvckQckRckScjrckdckUckVckWckWckXbGickYckZclaclbckZckZckZclcckZckZcldcleclfclgclhclicljclkbWycllclmbWybWybWybWyclnclobWybWybWybWyclpbvWaZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUPbUQbUPbRNbaDbUSbUTbUUbUVbUWbUXbUYbUZbLXbVabVbbVcbVdbLXbTCbTCbVebTEbWXbVgbVhbVibVjbTIbWUbVlbVmbVnbVobTIbVpbVqbVrbTOceSbVtbVubVvbVwbVxbVybVzbVAbVBchhbVDbVEbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObQXbVPbVQbVRbVSbVTbVUbHFbVVbVWbVXbVYbUmbVZbVZbWabWbbJxbWcbWdbWebWfbWgbWhbWibJybeobWjbhqbWlbhqbhqbWmbWnbWpbWqbWrbWsbWtbOxbWubWvbOBbDbbvWbWwbWxbWybWybWxbWybWzbThbWAbWBbUGbUHbWCbWDbTjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgbWFbWGbWFbUMbUNbUNbWHbdqbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTlbWJbUPbUPbWKbWLbRQbWMbWNbWObRQbUXbWPbWQbLXbLXbLXbLXbLXbLXbWRbTCbWSbWTceLbWVbWVbWVbWWbTIbYtbWYbWYbWYbWZbXabXbbXcbXdbXebXfbXgbXhbXibXjbXkbTObTRbXlbTTbXmbXnbXobXpbXqbTTbQSbPAbQTbQUbXrbXsbXtbXubXvbXwbXxbXybXzbUdbXAbXBbXCbXDbXEbXFbXGbXHbXIbXJbJxbJxbJxbJxbJxbXKbXLbXMbJybXNbhqbhqbXPbXObhqbXQbXRbXSbXTbQfbXUbXUbOxbOzbXVbOBbDbbThbXWbThbThbThbThbThbThbThbXXbXYbTjbXZbYabYbbTjaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbYcbWFbWFbYdbUNbUNbWHbWHbYebWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUQbUQbUQbRNbaDbYgbYhbYibYZbRQbYkbYlbZIbYnbYobYobYobYpbTCbTCbTCbVebTEbYqbWVbYrbWVbYsbTIbYtbWYbYubWYbYvbTIbYwbYxbYybTObYzbYAbYBbYCbYDbYEbYFbYGbYHbYIbYJbYKbYLbYMbYNbTTcarbPAbPAbYObXrbXsbYPbYQbdCbVQbYSbYTbYUbekbYWbYXbYYbelbZabZbbZcbZcbVZbZdbUjbVkbZfbZgbZhbZiciqbZebXRbXNbZlbhqbhqbhqbZnbZmbXRbXSbZobQfbXUbXUbOxbZpbZqbOBbDbbZrbZsbZtbThcjsbZvbZwbZxbZybZzbZAbTjbZBbZCbZDbTjbThbThbThbThbThbThbThbThaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabZEbUNbYcbUNbUNbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabTlbZFbZGbZHbTlbaDbaDbaDbNBbYjbZJbZJbZJbNBbNBbTCbZKbZKbZLbZNbTCcdabZObTEbYqbWVbWVbWVbZPbTIbYtbWYbWYbZQbZRbZSbZTbZUbZVbTObTObTObTObTObZWbTObTObZXbZYbTTbTTbZZbTTbTWbTTbTTbNRcaacaabNRbNRcabcaccadbemcafckncahcaibencakcalbYYbelcancaocapckzclNcasbUjcatcaucavcawcaxcaycazcaBcaAcaBcaFcaFcaFcaBccrcaBcaBcaGcaHbXUbXUbOxcntbXVbOBcaJcaKcaLcaMcaNcaOcaPcaPcaQcaRcaScaTcaUcaVcaWcaXcaYcaZcbacbbcbccbdcbecbfcbgaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUMbUNcbhcbicbibWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbRMcbkbRMcblcbmaabaaabNBbNBbaDbaDbaDbNBaaabTCcbqcbrcbscbtbYocbucbvbTEcbwcbxcbybWVcbzcbAcbBcbCcbDcbEcbFbTIcbGcbHcbIcbJcbKcbKcbKcbKcbLcbMcbNcbOcbOcbPcbPcbQcbRcbSbTRbNRcbTcbUcbVcbWbepbXscbYcadbeObeLccbcccbajbePcceccfccgcchcchccicchcchcchccjbUjcckcclccmccnccoccpccqcaBccsccucctccwccvccuccxcefccuccycczbQgbOxbOxccAccBccCccDccEccFccGccHccIccJccKccLccMccNccOccPccQccRccQccSccRccRccRccTccUccVccWccXaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabccZbTCbTCbTCcqvbTCbTCcdbbTEcdccddcdecdfcdgcdhcdicdjbZkcdlcdmcbAcdncdocdpcdqcdrcdrcdrcdrcdscdtcducdvcdwcdvcdxcdycdzcdAcdBcdCcdDcdEcdFcdGcdHcdIcdJcdKcdLcdMcoWcdOcdPcdQcdRcdScdTcdTcdTcdUcdVcdWcdXcdYcdZcdZceacdZcebbffbgqbfRcaBcegceicehcejcehcelcekcfGccubOxcembOxbOxcenceobXVbzwbDbbThcepbThbThceqcercescetceuccRcevcewcexccKcexccKceyccKccKbThcezceAceBceCaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUNbWHbWHbWHbWHbWHbWHceDbWHceEbWHbWHbWHbWHbWHbUNbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZceFceGceHbTCceIbTEceJceKcdkbYqceMceNceObYtbVfceQceRceNcqyceTceUceVceVceWceXceYceZbWIcfbcfcbHTcfdbTRcfebHTbHTcffcfgcfhcficfjcdGcfkcflcfmcfncfocfpcfqcfrcfscfpcfpcftcfucfucfucfvcfucfwcfucfxcfycfzcfAcfBcfCcfDcfEcfFcaBcfHcfJcfIcfKcfIcgMcfLcehcgNcfNcfObzwcfPbzwceobXVbzwbDbcfQcfRcfSbThbThbThbThbThcfTccKcfUcfVceyccKcfWccKbXXccKcfXbThcfYcfZcgabThaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNcgbcgbcgbcgbcgbcgbcgcbWHcgdcgbceEbWHbWHbWHbWHbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZcgfcgecggbTCceIcghcghcghcghcghcghbTIbTIbTIbTIbTIbTIbTIcgicgjcgkcglcgmcgncgocgocgpcgqcfbbHTbHTcgrcgscgtbHTbHTbHTcgucgvcgwcdEcgxcgycgzcfucgAcgBcgCbQWcgBcgDcdTcdTcdTcdTcdTcdTcgBcdTcdTcdTbQWcgEcgFcgGcgHcgIcgJcgKcgLcaBcgOcgPcehcgQcehcgScgRcimchQcgTcgUcgVbzwcgWceobXVcgXbDbbDicgYcgZchabumbvWbvWbThchbchcchdchechfchgcqBchichjchkchlbThchmchnchochpaacaacaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaachqbWFbWFbWFbWFbWFbWFbWFchrchsbWHbWHbWHbWHchtbdqbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZccZccZccZbTCceIccZaaaaaaaaaaaachuchvchwchxchychzchAchBchCchDchEbhrchGchHchIchIchJchKchLchMchMchMchMchNchMbHTbHTbNRchOchPcqFchRchSchTcgIchUchVchWchXchYchZciacdTcdTcibcicbhsciebhscicbEDcifcigcigcihciicijcakcikcilcaBcincipciociscircehcjycaBcaBbDbcitbDbbDbbDbciucivciwbDbbvWcgYcixciybumbumbumbThbThbThbThbThbThbThbThbThbThbThbThbThbThbThbThbThaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNcbicbicbicbicbicbicizbWHcbhcbiciAbWHbWHbWHbWHbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciBaaaaabaabciCciCciCciCciCciCciDciCbTCcdbbhtaaabhubjJbhYbjYciJciKciLciMciNciOciPciQciRciSciTciUciVciWciXciYciZchLcjacjbcjbcjbcjcchMbHTbHTcjdcjdcjdcjdcjecjdcjfcjfcjgcjdcjdcjhcjdcjicjjbkycjlbkycjmcjncjocjpcjqbuXbuXcjrcrccjtcjucjvcjwcjxcbScaBcaBcjzcaBcjAcaBcjCcjBcqHcfdcjDcjFcjGcjHcjIcjJcjKcjLcjIbvWcgYcjMbvWcjNcjOcjPcjQcfQbvWbvWbvWbvWbvWbvWbvWcjRcjEaZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNbWHbWHbWHbWHbWHbWHceDbWHciAbWHbWHbWHbWHbWHbUNbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjTcjUcjUcjUbkzcjWcjXcjYcjZckackbciDcjScdbbhtaaabmZckgckhckickjciKckkbURckmcsXchBckoceTbZUbhrckpcgockqcgockrcksbneckuckvckvckvckwchMbHTbHTcjdckxckycsYckAckBckCckCckDckEckFckGckHckIckJckKcdXcdXckLckMckNckOckPaaaaaacjvckQckRckScjrckdckUckVckWckWckXcElckYckZclaclbckZckZckZclcckZckZcldcleclfclgclhclicljclkbWycllclmbWybWybWybWyclnclobWybWybWybWyclpbvWaZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaclrclsclsclsclscltcluclvclwclxclxclyciCclAceIbhtaaabmZclBclCclDclEclFclGclHclEclEclIclJclKclLclMclMcthclOcgoclPclQbneckvckvckvckvclSchMbHTbHTcjdclTclUclVclWclXclYclYclZcmacmbcmccmdcmecjdcmfcdTcmgbEDcmhckNcmickPaaaaaacjvcmjcmkcmlcjvbHUcmmcmncmncmncmncmncmnckTcmpcmqcmocmscmsbnfbnfcmscmvcmwcmxcmycmzcmAcmBcmCcmAcmAcmAcmAcmAcmAcmAcmAcmAcmAcmAcmAbvWcmDcmraZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZEbUNbUNcgbcgbbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmEcmFcmGcmHcmGcmIcmJcmKcmLbRSbGWciCcmNcdbbhtaaabmZcmOcmPcmQcmRciKcmScmTcmUcmVchBckoceTcmWcmXceVcmYcmZbhrbhrbhrcndcneckvckvcnfcngchMbHTcnhcjdcnicnjcnkcnlcnlcnlcnmcnncnlcnlcnocnkcnpcnqcnrcdTcnsbEDctyckNcnuckPaaaaaacjvcnvcnwcnxcjvcnybHTcnhcnzcnzcnzcnzcnzbngbnkbnjcnzcnzaaaaaaaaaaaacjIcnDcnEcnFcmAcnGcnIcnHcnKcnJcnMcnLcnOcnNcnQcnPcuPcnRcpacmAcnScnTcnUcnVcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnXcnYbUNbYcbUNbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaacmEcnZcoacobcocclwcodckccoeclwcofbxgcohcoibhtaaabnlbjJbnIbjYcomciKciKconcoocopcoqcorcoscotcouceVcovcowcoxcoycozchLcoAckvckvckvcoBchMbHTbHTcoCcoCcoDcoEboQboQboQcoCbpobpobpocoLcoMcoDcoNcmfcdTcmgbEDcoOckNckOckPaaaaaacjvcoPcoQcoRcjvbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcoTcoUcoVbqlcpbcoYcoYcoZcoYcoYcoYcoYcoYcpdcpccpfcpecphbsybsybYfcpjbsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNcpmcpncpobUNbUNbWHbWHcppbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 68765df5447..c7b6fb1a430 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -1356,13 +1356,13 @@ var/list/ghostteleportlocs = list() music = "signal" ambientsounds = list('sound/ambience/ambimalf.ogg') -/area/toxins/telesci - name = "\improper Telescience Lab" - icon_state = "telesci" +/area/toxins/explab + name = "\improper E.X.P.E.R.I-MENTOR Lab" + icon_state = "toxmisc" -/area/toxins/telescipad - name = "\improper Telescience Lab Pad" - icon_state = "telescipad" +/area/toxins/explab_chamber + name = "\improper E.X.P.E.R.I-MENTOR Chamber" + icon_state = "toxmisc" //MedBay diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index c6b2b9a8908..6f37f9c892b 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -409,6 +409,17 @@ to destroy them and players will be able to make replacements. /obj/item/weapon/stock_parts/micro_laser = 1, /obj/item/weapon/stock_parts/console_screen = 1) +//Almost the same recipe as destructive analyzer to give people choices. +/obj/item/weapon/circuitboard/experimentor + name = "circuit board (E.X.P.E.R.I-MENTOR)" + build_path = /obj/machinery/r_n_d/experimentor + board_type = "machine" + origin_tech = "magnets=1;engineering=1;programming=1;biotech=1;bluespace=2" + req_components = list( + /obj/item/weapon/stock_parts/scanning_module = 1, + /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/weapon/stock_parts/micro_laser = 2) + /obj/item/weapon/circuitboard/destructive_analyzer name = "Circuit board (Destructive Analyzer)" build_path = "/obj/machinery/r_n_d/destructive_analyzer" diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 778d3b74dc6..4301da8c5a2 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -115,6 +115,6 @@ /obj/item/weapon/weldingtool = 3, /obj/item/weapon/wirecutters = 1, /obj/item/weapon/wrench = 4, -// /obj/item/weapon/relic = 3, //disabled until we add in the E.X.P.E.R.I-MENTOR + /obj/item/weapon/relic = 3, "" = 11 ) diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm index 937d901f117..d9e06c361b0 100644 --- a/code/game/objects/items/random_items.dm +++ b/code/game/objects/items/random_items.dm @@ -61,7 +61,7 @@ // identify_probability = 0 New() ..() - var/global/list/chems_only = list("slimejelly","blood","water","lube","charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","oxygen","copper","nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine","fluorine","sodium","phosphorus","lithium","sugar","sacid","facid","glycerol","radium","mutadone","thermite","mutagen","virusfood","iron","gold","silver","uranium","aluminum","silicon","fuel","cleaner","atrazine","plasma","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","cryoxadone","spaceacillin","carpotoxin","mindbreaker","fluorosurfactant","fluorosurfactant","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","enzyme","nothing","salglu_solution","antifreeze","neurotoxin") + var/global/list/chems_only = list("slimejelly","blood","water","lube","charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","oxygen","copper","nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine","fluorine","sodium","phosphorus","lithium","sugar","sacid","facid","glycerol","radium","mutadone","thermite","mutagen","virusfood","iron","gold","silver","uranium","aluminum","silicon","fuel","cleaner","atrazine","plasma","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","cryoxadone","spaceacillin","carpotoxin","lsd","fluorosurfactant","fluorosurfactant","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","enzyme","nothing","salglu_solution","antifreeze","neurotoxin") var/global/list/rare_chems = list("minttoxin","nanites","xenomicrobes","adminordrazine") var/datum/reagent/R = pick(chems_only + rare_chems) @@ -91,7 +91,7 @@ ..() var/list/drinks_only = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice","berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana","nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee","icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb","space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater","tequilla","vermouth","wine","tonic","kahlua","cognac","hooch","ale","sodawater","ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic","cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail","booger","bloodymary","gargleblaster","bravebull","tequillasunrise","toxinsspecial","beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea","moonshine","b52","irishcoffee","margarita","blackrussian","manhattan","manhattan_proj","whiskeysoda","antifreeze","barefoot","snowwhite","demonsblood","vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead","mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte","cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk","silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini") if(prob(50)) - drinks_only += list("pancuronium","adminordrazine","mindbreaker","omnizine","blood") + drinks_only += list("pancuronium","adminordrazine","lsd","omnizine","blood") var/datum/reagent/R = pick(drinks_only) reagents.add_reagent(R,volume) @@ -123,7 +123,7 @@ New() ..() - var/global/list/meds_only = list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","mutadone","mutagen","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","spaceacillin","carpotoxin","mindbreaker","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin") + var/global/list/meds_only = list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","mutadone","mutagen","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","spaceacillin","carpotoxin","lsd","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin") var/global/list/rare_meds = list("nanites","xenomicrobes","minttoxin","adminordrazine","blood") var/i = 1 diff --git a/code/game/objects/items/weapons/grenades/custom_grenades.dm b/code/game/objects/items/weapons/grenades/custom_grenades.dm index d22a9e1a982..82252c3a340 100644 --- a/code/game/objects/items/weapons/grenades/custom_grenades.dm +++ b/code/game/objects/items/weapons/grenades/custom_grenades.dm @@ -57,9 +57,9 @@ ..() var/obj/item/weapon/reagent_containers/glass/beaker/large/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/large/B2 = new(src) - B1.reagents.add_reagent("hellwater",80) + B1.reagents.add_reagent("hell_water",80) B1.reagents.add_reagent("sugar",20) - B2.reagents.add_reagent("hellwater", 60) + B2.reagents.add_reagent("hell_water", 60) B2.reagents.add_reagent("potassium", 20) B2.reagents.add_reagent("phosphorus", 20) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 699cada546e..a227b2979c1 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -407,6 +407,137 @@ Coming soon... "}*/ +/obj/item/weapon/book/manual/experimentor + name = "Mentoring your Experiments" + icon_state = "rdbook" + author = "Dr. H.P. Kritz" + title = "Mentoring your Experiments" + dat = {" + + + + +

THE E.X.P.E.R.I-MENTOR

+ The Enhanced Xenobiological Period Extraction (and) Restoration Instructor is a machine designed to discover the secrets behind every item in existence. + With advanced technology, it can process 99.95% of items, and discover their uses and secrets. + The E.X.P.E.R.I-MENTOR is a Research apparatus that takes items, and through a process of elimination, it allows you to deduce new technological designs from them. + Due to the volatile nature of the E.X.P.E.R.I-MENTOR, there is a slight chance for malfunction, potentially causing irreparable damage to you or your environment. + However, upgrading the apparatus has proven to decrease the chances of undesirable, potentially life-threatening outcomes. + Please note that the E.X.P.E.R.I-MENTOR uses a state-of-the-art random generator, which has a larger entropy than the observable universe, + therefore it can generate wildly different results each day, therefore it is highly suggested to re-scan objects of interests frequently (e.g. each shift). + +

BASIC PROCESS

+ The usage of the E.X.P.E.R.I-MENTOR is quite simple: +
    +
  1. Find an item with a technological background
  2. +
  3. Insert the item into the E.X.P.E.R.I-MENTOR
  4. +
  5. Cycle through each processing method of the device.
  6. +
  7. Stand back, even in case of a successful experiment, as the machine might produce undesired behaviour.
  8. +
+ +

ADVANCED USAGE

+ The E.X.P.E.R.I-MENTOR has a variety of uses, beyond menial research work. The different results can be used to combat localised events, or even to get special items. + + The E.X.P.E.R.I-MENTOR's OBLITERATE function has the added use of transferring the destroyed item's material into a linked lathe. + + The IRRADIATE function can be used to transform items into other items, resulting in potential upgrades (or downgrades). + + Users should remember to always wear appropriate protection when using the machine, because malfunction can occur at any moment! + +

EVENTS

+

GLOBAL (happens at any time):

+
    +
  1. DETECTION MALFUNCTION - The machine's onboard sensors have malfunctioned, causing it to redefine the item's experiment type. + Produces the message: The E.X.P.E.R.I-MENTOR's onboard detection system has malfunctioned!
  2. + +
  3. IANIZATION - The machine's onboard corgi-filter has malfunctioned, causing it to produce a corgi from.. somewhere. + Produces the message: The E.X.P.E.R.I-MENTOR melts the banana, ian-izing the air around it!
  4. + +
  5. RUNTIME ERROR - The machine's onboard C4T-P processor has encountered a critical error, causing it to produce a cat from.. somewhere. + Produces the message: The E.X.P.E.R.I-MENTOR encounters a run-time error!
  6. + +
  7. B100DG0D.EXE - The machine has encountered an unknown subroutine, which has been injected into it's runtime. It upgrades the held item! + Produces the message: The E.X.P.E.R.I-MENTOR improves the banana, drawing the life essence of those nearby!
  8. + +
  9. POWERSINK - The machine's PSU has tripped the charging mechanism! It consumes massive amounts of power! + Produces the message: The E.X.P.E.R.I-MENTOR begins to smoke and hiss, shaking violently!
  10. +
+

FAIL:

+ This event is produced when the item mismatches the selected experiment. + Produces a random message similar to: "the Banana rumbles, and shakes, the experiment was a failure!" + +

POKE:

+
    +
  1. WILD ARMS - The machine's gryoscopic processors malfunction, causing it to lash out at nearby people with it's arms. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions and destroys the banana, lashing it's arms out at nearby people!
  2. + +
  3. MISTYPE - The machine's interface has been garbled, and it switches to OBLITERATE. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions!
  4. + +
  5. THROW - The machine's spatial recognition device has shifted several meters across the room, causing it to try and repostion the item there. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, throwing the banana!
  6. +
+

IRRADIATE:

+
    +
  1. RADIATION LEAK - The machine's shield has failed, resulting in a toxic radiation leak. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, melting the banana and leaking radiation!
  2. + +
  3. RADIATION DUMP - The machine's recycling and containment functions have failed, resulting in a dump of toxic waste around it + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, spewing toxic waste!
  4. + +
  5. MUTATION - The machine's radio-isotope level meter has malfunctioned, causing it over-irradiate the item, making it transform. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, transforming the banana!
  6. +
+

GAS:

+
    +
  1. TOXIN LEAK - The machine's filtering and vent systems have failed, resulting in a cloud of toxic gas being expelled. + Produces the message: The E.X.P.E.R.I-MENTOR destroys the banana, leaking dangerous gas!
  2. + +
  3. GAS LEAK - The machine's vent systems have failed, resulting in a cloud of harmless, but obscuring gas. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, spewing harmless gas!
  4. + +
  5. ELECTROMAGNETIC IONS - The machine's electrolytic scanners have failed, causing a dangerous Electromagnetic reaction. + Produces the message: The E.X.P.E.R.I-MENTOR melts the banana, ionizing the air around it!
  6. +
+

HEAT:

+
    +
  1. TOASTER - The machine's heating coils have come into contact with the machine's gas storage, causing a large, sudden blast of flame. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, melting the banana and releasing a burst of flame!
  2. + +
  3. SAUNA - The machine's vent loop has sprung a leak, resulting in a large amount of superheated air being dumped around it. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, melting the banana and leaking hot air!
  4. + +
  5. EMERGENCY VENT - The machine's temperature gauge has malfunctioned, resulting in it attempting to cool the area around it, but instead, dumping a cloud of steam. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, activating it's emergency coolant systems!
  6. +
+

COLD:

+
    +
  1. FREEZER - The machine's cooling loop has sprung a leak, resulting in a cloud of super-cooled liquid being blasted into the air. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, shattering the banana and releasing a dangerous cloud of coolant!
  2. + +
  3. FRIDGE - The machine's cooling loop has been exposed to the outside air, resulting in a large decrease in temperature. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, shattering the banana and leaking cold air!
  4. + +
  5. SNOWSTORM - The machine's cooling loop has come into contact with the heating coils, resulting in a sudden blast of cool air. + Produces the message: The E.X.P.E.R.I-MENTOR malfunctions, releasing a flurry of chilly air as the banana pops out!
  6. +
+

OBLITERATE:

+
    +
  1. IMPLOSION - The machine's pressure leveller has malfunctioned, causing it to pierce the space-time momentarily, making everything in the area fly towards it. + Produces the message: The E.X.P.E.R.I-MENTOR's crusher goes way too many levels too high, crushing right through space-time!
  2. + +
  3. DISTORTION - The machine's pressure leveller has completely disabled, resulting in a momentary space-time distortion, causing everything to fly around. + Produces the message: The E.X.P.E.R.I-MENTOR's crusher goes one level too high, crushing right into space-time!
  4. +
+ + + "} /obj/item/weapon/book/manual/research_and_development name = "Research and Development 101" diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 04a86404ccb..8635d7e7f25 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -26,7 +26,7 @@ F << "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message]
" //ADMINVERBS -/client/proc/investigate_show( subject in list("hrefs","notes","pda","singulo","atmos","watchlist","ntsl","gold core","cult") ) +/client/proc/investigate_show( subject in list("hrefs","notes","pda","singulo","atmos","watchlist","ntsl","gold core","cult", "experimentor") ) set name = "Investigate" set category = "Admin" if(!holder) return @@ -62,23 +62,30 @@ src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." return src << browse(F,"window=investigate[subject];size=800x300") - + if("atmos") var/F = investigate_subject2file(subject) if(!F) src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." return src << browse(F,"window=investigate[subject];size=800x300") - + if("ntsl") var/F = investigate_subject2file(subject) if(!F) src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." return src << browse(F,"window=investigate[subject];size=800x300") - + + if("experimentor") + var/F = investigate_subject2file(subject) + if(!F) + src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed." + return + src << browse(F,"window=investigate[subject];size=800x300") + if("watchlist") watchlist_show() - + if("notes") show_note() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/poison_bees.dm b/code/modules/mob/living/simple_animal/hostile/poison_bees.dm new file mode 100644 index 00000000000..4299af828dc --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/poison_bees.dm @@ -0,0 +1,64 @@ +/mob/living/simple_animal/hostile/poison/bees + name = "space bee swarm" + desc = "" + icon_state = "bee_1" + icon_living = "bee" + speak_emote = list("buzzes") + emote_hear = list("buzzes") + turns_per_move = 0 + melee_damage_lower = 1 + melee_damage_upper = 1 + attacktext = "stings" + response_help = "shoos" + response_disarm = "swats away" + response_harm = "squashes" + maxHealth = 10 + health = 10 + faction = list("hostile") + move_to_delay = 0 + environment_smash = 0 + mouse_opacity = 2 + pass_flags = PASSTABLE | PASSGRILLE | PASSMOB + flying = 1 + + //Spaceborn beings don't get hurt by space + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + +/mob/living/simple_animal/hostile/poison/bees/Process_Spacemove(var/check_drift = 0) + return 1 + +/mob/living/simple_animal/hostile/poison/bees/New() + ..() + update_bees() + +/mob/living/simple_animal/hostile/poison/bees/Die() + ..() + ghostize() + qdel(src) + return + +/mob/living/simple_animal/hostile/poison/bees/Life() + ..() + update_bees() + +/mob/living/simple_animal/hostile/poison/bees/proc/update_bees() + while(overlays.len != health-1) //how many bees do we have in the swarm? + var/N = rand(1, 4) + var/image/I = image(icon='icons/mob/animal.dmi',icon_state="bee_[N]", pixel_x = rand(-8, 8), pixel_y = rand(-8, 8)) + if(overlays.len < health-1) + overlays.Add(I) + if(overlays.len > health-1) + overlays.Remove(I) + poison_per_bite = health * 0.5 //each bee is half a toxin reagent + if(health > 1) + desc = "A buzzy swarm of [health] poisonous space bees, renowned for their aggressiveness" + else + desc = "Although now lonely, this single space bee is still poisonous and very angry at you." diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm index 7b1aebea824..d33f4ab80e9 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm @@ -388,6 +388,10 @@ reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 +/datum/reagent/ethanol/beepsky_smash/on_mob_life(mob/living/M) + M.Stun(1) + ..() + /datum/reagent/ethanol/changelingsting name = "Changeling Sting" id = "changelingsting" diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 7a2e7046de1..87da26bfdd1 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -232,6 +232,16 @@ build_path = /obj/item/weapon/circuitboard/mech_recharger category = list("Research Machinery") +/datum/design/experimentor + name = "Machine Design (E.X.P.E.R.I-MENTOR Board)" + desc = "The circuit board for an E.X.P.E.R.I-MENTOR." + id = "experimentor" + req_tech = list("programming" = 2, "magnets" = 2, "engineering" = 2, "bluespace" = 2) + build_type = IMPRINTER + materials = list(MAT_GLASS = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/experimentor + category = list("Research Machinery") + /datum/design/protolathe name = "Machine Board (Protolathe)" desc = "The circuit board for a Protolathe." diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm new file mode 100644 index 00000000000..ee773b52d89 --- /dev/null +++ b/code/modules/research/experimentor.dm @@ -0,0 +1,746 @@ +//this is designed to replace the destructive analyzer + +#define SCANTYPE_POKE 1 +#define SCANTYPE_IRRADIATE 2 +#define SCANTYPE_GAS 3 +#define SCANTYPE_HEAT 4 +#define SCANTYPE_COLD 5 +#define SCANTYPE_OBLITERATE 6 +#define SCANTYPE_DISCOVER 7 + +#define EFFECT_PROB_VERYLOW 20 +#define EFFECT_PROB_LOW 35 +#define EFFECT_PROB_MEDIUM 50 +#define EFFECT_PROB_HIGH 75 +#define EFFECT_PROB_VERYHIGH 95 + +#define FAIL 8 +/obj/machinery/r_n_d/experimentor + name = "E.X.P.E.R.I-MENTOR" + icon = 'icons/obj/machines/heavy_lathe.dmi' + icon_state = "h_lathe" + density = 1 + anchored = 1 + use_power = 1 + var/recentlyExperimented = 0 + var/mob/trackedIan + var/mob/trackedRuntime + var/obj/item/loaded_item = null + var/badThingCoeff = 0 + var/resetTime = 15 + var/cloneMode = FALSE + var/cloneCount = 0 + var/list/item_reactions = list() + var/list/valid_items = list() //valid items for special reactions like transforming + var/list/critical_items = list() //items that can cause critical reactions + +/obj/machinery/r_n_d/experimentor/proc/ConvertReqString2List(list/source_list) + var/list/temp_list = params2list(source_list) + for(var/O in temp_list) + temp_list[O] = text2num(temp_list[O]) + return temp_list + +/* //uncomment to enable forced reactions. +/obj/machinery/r_n_d/experimentor/verb/forceReaction() + set name = "Force Experimentor Reaction" + set category = "Debug" + set src in oview(1) + var/reaction = input(usr,"What reaction?") in list(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) + var/oldReaction = item_reactions["[loaded_item.type]"] + item_reactions["[loaded_item.type]"] = reaction + experiment(item_reactions["[loaded_item.type]"],loaded_item) + spawn(10) + if(loaded_item) + item_reactions["[loaded_item.type]"] = oldReaction +*/ + +/obj/machinery/r_n_d/experimentor/proc/SetTypeReactions() + var/probWeight = 0 + for(var/I in typesof(/obj/item)) + if(istype(I,/obj/item/weapon/relic)) + item_reactions["[I]"] = SCANTYPE_DISCOVER + else + item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) + if(ispath(I,/obj/item/weapon/stock_parts) || ispath(I,/obj/item/weapon/grenade/chem_grenade) || ispath(I,/obj/item/weapon/kitchen)) + var/obj/item/tempCheck = new I() + if(tempCheck.icon_state != null) //check it's an actual usable item, in a hacky way + valid_items += 15 + valid_items += I + probWeight++ + qdel(tempCheck) + + if(ispath(I,/obj/item/weapon/reagent_containers/food)) + var/obj/item/tempCheck = new I() + if(tempCheck.icon_state != null) //check it's an actual usable item, in a hacky way + valid_items += rand(1,max(2,35-probWeight)) + valid_items += I + qdel(tempCheck) + + if(ispath(I,/obj/item/weapon/rcd) || ispath(I,/obj/item/weapon/grenade) || ispath(I,/obj/item/device/aicard) || ispath(I,/obj/item/weapon/storage/backpack/holding) || ispath(I,/obj/item/slime_extract) || ispath(I,/obj/item/device/onetankbomb) || ispath(I,/obj/item/device/transfer_valve)) + var/obj/item/tempCheck = new I() + if(tempCheck.icon_state != null) + critical_items += I + qdel(tempCheck) + + +/obj/machinery/r_n_d/experimentor/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/experimentor(src) + component_parts += new /obj/item/weapon/stock_parts/scanning_module(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/manipulator(src) + component_parts += new /obj/item/weapon/stock_parts/micro_laser(src) + component_parts += new /obj/item/weapon/stock_parts/micro_laser(src) + trackedIan = locate(/mob/living/simple_animal/pet/corgi/Ian) in mob_list + trackedRuntime = locate(/mob/living/simple_animal/pet/cat/Runtime) in mob_list + SetTypeReactions() + RefreshParts() + +/obj/machinery/r_n_d/experimentor/RefreshParts() + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + if(resetTime > 0 && (resetTime - M.rating) >= 1) + resetTime -= M.rating + for(var/obj/item/weapon/stock_parts/scanning_module/M in component_parts) + badThingCoeff += M.rating*2 + for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts) + badThingCoeff += M.rating + +/obj/machinery/r_n_d/experimentor/proc/checkCircumstances(obj/item/O) + //snowflake check to only take "made" bombs + if(istype(O,/obj/item/device/transfer_valve)) + var/obj/item/device/transfer_valve/T = O + if(!T.tank_one || !T.tank_two || !T.attached_device) + return FALSE + return TRUE + +/obj/machinery/r_n_d/experimentor/attackby(obj/item/O, mob/user, params) + if (shocked) + shock(user,50) + + if (default_deconstruction_screwdriver(user, "h_lathe_maint", "h_lathe", O)) + if(linked_console) + linked_console.linked_destroy = null + linked_console = null + return + + if(exchange_parts(user, O)) + return + + if(panel_open && istype(O, /obj/item/weapon/crowbar)) + default_deconstruction_crowbar(O) + return + + if(!checkCircumstances(O)) + user << "The [O] is not yet valid for the [src] and must be completed!" + return + + if (disabled) + return + if (!linked_console) + user << "The [src] must be linked to an R&D console first!" + return + if (loaded_item) + user << "The [src] is already loaded." + return + if (istype(O, /obj/item)) + if(!O.origin_tech) + user << "This doesn't seem to have a tech origin!" + return + var/list/temp_tech = ConvertReqString2List(O.origin_tech) + if (temp_tech.len == 0) + user << "You cannot experiment on this item!" + return + if(O.reliability < 90 && O.crit_fail == 0) + usr << "Item is neither reliable enough or broken enough to learn from." + return + if(!user.drop_item()) + return + loaded_item = O + O.loc = src + user << "You add the [O.name] to the machine." + flick("h_lathe_load", src) + + return + +/obj/machinery/r_n_d/experimentor/default_deconstruction_crowbar(obj/item/O) + ejectItem() + ..(O) + +/obj/machinery/r_n_d/experimentor/attack_hand(mob/user) + user.set_machine(src) + var/dat = "
" + if(!linked_console) + dat += "Scan for R&D Console
" + if(loaded_item) + if(recentlyExperimented) + dat += "The [src] is still resetting!" + else + dat += "Loaded Item: [loaded_item]
" + dat += "Technology:
" + var/list/D = ConvertReqString2List(loaded_item.origin_tech) + for(var/T in D) + dat += "[T]
" + dat += "

Available tests:" + dat += "
Poke" + dat += "
Irradiate" + dat += "
Gas" + dat += "
Burn" + dat += "
Freeze" + dat += "
Destroy
" + if(istype(loaded_item,/obj/item/weapon/relic)) + dat += "
Discover
" + dat += "
Eject" + else + dat += "Nothing loaded." + dat += "
Refresh
" + dat += "
Close
" + var/datum/browser/popup = new(user, "experimentor","Experimentor", 700, 400, src) + popup.set_content(dat) + popup.open() + onclose(user, "experimentor") + + +/obj/machinery/r_n_d/experimentor/proc/matchReaction(matching,reaction) + var/obj/item/D = matching + if(D) + if(item_reactions.Find("[D.type]")) + var/tor = item_reactions["[D.type]"] + if(tor == text2num(reaction)) + return tor + else + return FAIL + else + return FAIL + else + return FAIL + +/obj/machinery/r_n_d/experimentor/proc/ejectItem(delete=FALSE) + if(loaded_item) + if(cloneMode && cloneCount > 0) + visible_message("A duplicate [loaded_item] pops out!") + new loaded_item(get_turf(pick(oview(1,src)))) + --cloneCount + if(cloneCount == 0) + cloneMode = FALSE + var/turf/dropturf = get_turf(pick(view(1,src))) + if(!dropturf) //Failsafe to prevent the object being lost in the void forever. + dropturf = get_turf(src) + loaded_item.loc = dropturf + if(delete) + qdel(loaded_item) + loaded_item = null + +/obj/machinery/r_n_d/experimentor/proc/throwSmoke(turf/where) + var/datum/effect/effect/system/harmless_smoke_spread/smoke = new + smoke.set_up(1,0, where, 0) + smoke.start() + +/obj/machinery/r_n_d/experimentor/proc/pickWeighted(list/from) + var/result = FALSE + var/counter = 1 + while(!result) + var/probtocheck = from[counter] + if(prob(probtocheck)) + result = TRUE + return from[counter+1] + if(counter + 2 < from.len) + counter = counter + 2 + else + counter = 1 + +/obj/machinery/r_n_d/experimentor/proc/experiment(exp,obj/item/exp_on) + recentlyExperimented = 1 + icon_state = "h_lathe_wloop" + var/chosenchem + var/criticalReaction = locate(exp_on) in critical_items ? TRUE : FALSE + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == SCANTYPE_POKE) + visible_message("[src] prods at [exp_on] with mechanical arms.") + if(prob(EFFECT_PROB_LOW) && criticalReaction) + visible_message("[exp_on] is gripped in just the right way, enhancing its focus.") + badThingCoeff++ + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!") + for(var/mob/living/m in oview(1, src)) + m.apply_damage(15,"brute",pick("head","chest","groin")) + investigate_log("Experimentor dealt minor brute to [m].", "experimentor") + ejectItem(TRUE) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) + visible_message("[src] malfunctions!") + exp = SCANTYPE_OBLITERATE + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + visible_message("[src] malfunctions, throwing the [exp_on]!") + var/mob/living/target = locate(/mob/living) in oview(7,src) + if(target) + var/obj/item/throwing = loaded_item + investigate_log("Experimentor has thrown [loaded_item] at [target]", "experimentor") + ejectItem() + if(throwing) + throwing.throw_at(target, 10, 1) + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == SCANTYPE_IRRADIATE) + visible_message("[src] reflects radioactive rays at [exp_on]!") + if(prob(EFFECT_PROB_LOW) && criticalReaction) + visible_message("[exp_on] has activated an unknown subroutine!") + cloneMode = TRUE + cloneCount = badThingCoeff + investigate_log("Experimentor has made a clone of [exp_on]", "experimentor") + ejectItem() + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src] malfunctions, melting [exp_on] and leaking radiation!") + for(var/mob/living/m in oview(1, src)) + m.apply_effect(25,IRRADIATE) + investigate_log("Experimentor has irradiated [m]", "experimentor") //One entry per person so we know what was irradiated. + ejectItem(TRUE) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) + visible_message("[src] malfunctions, spewing toxic waste!") + for(var/turf/T in oview(1, src)) + if(!T.density) + if(prob(EFFECT_PROB_VERYHIGH)) + var/obj/effect/decal/cleanable/reagentdecal = new/obj/effect/decal/cleanable/greenglow(T) + reagentdecal.reagents.add_reagent("radium", 7) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + var/savedName = "[exp_on]" + ejectItem(TRUE) + var/newPath = pickWeighted(valid_items) + loaded_item = new newPath(src) + visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") + investigate_log("Experimentor has transformed [savedName] into [loaded_item]", "experimentor") + if(istype(loaded_item,/obj/item/weapon/grenade/chem_grenade)) + var/obj/item/weapon/grenade/chem_grenade/CG = loaded_item + CG.prime() + ejectItem() + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == SCANTYPE_GAS) + visible_message("[src] fills its chamber with gas, [exp_on] included.") + if(prob(EFFECT_PROB_LOW) && criticalReaction) + visible_message("[exp_on] achieves the perfect mix!") + new /obj/item/stack/sheet/mineral/plasma(get_turf(pick(oview(1,src)))) + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src] destroys [exp_on], leaking dangerous gas!") + chosenchem = pick("carbon","radium","toxin","condensedcapsaicin","psilocybin","space_drugs","ethanol","beepskysmash") + var/datum/reagents/R = new/datum/reagents(15) + R.my_atom = src + R.add_reagent(chosenchem , 15) + investigate_log("Experimentor has released [chosenchem] smoke.", "experimentor") + var/datum/effect/effect/system/chem_smoke_spread/smoke = new + smoke.set_up(R, 1, 0, src, 0, silent = 1) + playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) + smoke.start() + qdel(R) + ejectItem(TRUE) + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src]'s chemical chamber has sprung a leak!") + chosenchem = pick("mutationtoxin","itching_powder","sacid") + var/datum/reagents/R = new/datum/reagents(15) + R.my_atom = src + R.add_reagent(chosenchem , 15) + var/datum/effect/effect/system/chem_smoke_spread/smoke = new + smoke.set_up(R, 1, 0, src, 0, silent = 1) + playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) + smoke.start() + qdel(R) + ejectItem(TRUE) + warn_admins(usr, "[chosenchem] smoke") + investigate_log("Experimentor has released [chosenchem] smoke!", "experimentor") + if(prob(EFFECT_PROB_LOW-badThingCoeff)) + visible_message("[src] malfunctions, spewing harmless gas.>") + throwSmoke(src.loc) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + visible_message("[src] melts [exp_on], ionizing the air around it!") + empulse(src.loc, 4, 6) + investigate_log("Experimentor has generated an Electromagnetic Pulse.", "experimentor") + ejectItem(TRUE) + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == SCANTYPE_HEAT) + visible_message("[src] raises [exp_on]'s temperature.") + if(prob(EFFECT_PROB_LOW) && criticalReaction) + visible_message("[src]'s emergency coolant system gives off a small ding!") + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + var/obj/item/weapon/reagent_containers/food/drinks/coffee/C = new /obj/item/weapon/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) + chosenchem = pick("plasma","capsaicin","ethanol") + C.reagents.remove_any(25) + C.reagents.add_reagent(chosenchem , 50) + C.name = "Cup of Suspicious Liquid" + C.desc = "It has a large hazard symbol printed on the side in fading ink." + investigate_log("Experimentor has made a cup of [chosenchem] coffee.", "experimentor") + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + var/turf/start = get_turf(src) + var/mob/M = locate(/mob/living) in view(src, 3) + var/turf/MT = get_turf(M) + if(MT) + visible_message("[src] dangerously overheats, launching a flaming fuel orb!") + investigate_log("Experimentor has launched a fireball at [M]!", "experimentor") + var/obj/item/projectile/magic/fireball/FB = new /obj/item/projectile/magic/fireball(start) + FB.original = MT + FB.current = start + FB.yo = MT.y - start.y + FB.xo = MT.x - start.x + spawn(1) + FB.process() + if(prob(EFFECT_PROB_LOW-badThingCoeff)) + visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!") + explosion(src.loc, -1, 0, 0, 0, 0, flame_range = 2) + investigate_log("Experimentor started a fire.", "experimentor") + ejectItem(TRUE) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + visible_message("[src] malfunctions, melting [exp_on] and leaking hot air!") + var/datum/gas_mixture/env = src.loc.return_air() + var/transfer_moles = 0.25 * env.total_moles() + var/datum/gas_mixture/removed = env.remove(transfer_moles) + if(removed) + var/heat_capacity = removed.heat_capacity() + if(heat_capacity == 0 || heat_capacity == null) + heat_capacity = 1 + removed.temperature = min((removed.temperature*heat_capacity + 100000)/heat_capacity, 1000) + env.merge(removed) + air_update_turf() + investigate_log("Experimentor has released hot air.", "experimentor") + ejectItem(TRUE) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + visible_message("[src] malfunctions, activating its emergency coolant systems!") + throwSmoke(src.loc) + for(var/mob/living/m in oview(1, src)) + m.apply_damage(5,"burn",pick("head","chest","groin")) + investigate_log("Experimentor has dealt minor burn damage to [m]", "experimentor") + ejectItem() + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == SCANTYPE_COLD) + visible_message("[src] lowers [exp_on]'s temperature.") + if(prob(EFFECT_PROB_LOW) && criticalReaction) + visible_message("[src]'s emergency coolant system gives off a small ding!") + var/obj/machinery/vending/coffee/C = new /obj/machinery/vending/coffee(get_turf(pick(oview(1,src)))) + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) //Ding! Your death coffee is ready! + chosenchem = pick("uranium","frostoil","ephedrine") + C.reagents.remove_any(25) + C.reagents.add_reagent(chosenchem , 50) + C.name = "Cup of Suspicious Liquid" + C.desc = "It has a large hazard symbol printed on the side in fading ink." + investigate_log("Experimentor has made a cup of [chosenchem] coffee.", "experimentor") + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!") + var/datum/reagents/R = new/datum/reagents(15) + R.my_atom = src + R.add_reagent("frostoil" , 15) + investigate_log("Experimentor has released frostoil gas.", "experimentor") + var/datum/effect/effect/system/chem_smoke_spread/smoke = new + smoke.set_up(R, 1, 0, src, 0, silent = 1) + playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) + smoke.start() + qdel(R) + ejectItem(TRUE) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) + visible_message("[src] malfunctions, shattering [exp_on] and leaking cold air!") + var/datum/gas_mixture/env = src.loc.return_air() + var/transfer_moles = 0.25 * env.total_moles() + var/datum/gas_mixture/removed = env.remove(transfer_moles) + if(removed) + var/heat_capacity = removed.heat_capacity() + if(heat_capacity == 0 || heat_capacity == null) + heat_capacity = 1 + removed.temperature = (removed.temperature*heat_capacity - 75000)/heat_capacity + env.merge(removed) + air_update_turf() + investigate_log("Experimentor has released cold air.", "experimentor") + ejectItem(TRUE) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!") + var/datum/effect/effect/system/harmless_smoke_spread/smoke = new + smoke.set_up(1,0, src.loc, 0) + smoke.start() + ejectItem() + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == SCANTYPE_OBLITERATE) + visible_message("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!") + if(prob(EFFECT_PROB_LOW) && criticalReaction) + visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") + new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) + if(linked_console.linked_lathe) + for(var/material in exp_on.materials) + linked_console.linked_lathe.materials.insert_amount( min((linked_console.linked_lathe.materials.max_amount - linked_console.linked_lathe.materials.total_amount), (exp_on.materials[material])), material) + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src]'s crusher goes way too many levels too high, crushing right through space-time!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) + investigate_log("Experimentor has triggered the 'throw things' reaction.", "experimentor") + var/list/throwAt = list() + for(var/i in oview(7,src)) + if(istype(i,/obj/item) || istype(i,/mob/living)) + throwAt.Add(i) + var/counter + for(counter = 1, counter < throwAt.len, ++counter) + var/cast = throwAt[counter] + cast:throw_at(src,10,1) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) + visible_message("[src]'s crusher goes one level too high, crushing right into space-time!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) + investigate_log("Experimentor has triggered the 'minor throw things' reaction.", "experimentor") + var/list/oViewStuff = oview(7,src) + var/list/throwAt = list() + for(var/i in oViewStuff) + if(istype(i,/obj/item) || istype(i,/mob/living)) + throwAt.Add(i) + var/counter + for(counter = 1, counter < throwAt.len, ++counter) + var/cast = throwAt[counter] + cast:throw_at(pick(throwAt),10,1) + ejectItem(TRUE) + //////////////////////////////////////////////////////////////////////////////////////////////// + if(exp == FAIL) + var/a = pick("rumbles","shakes","vibrates","shudders") + var/b = pick("crushes","spins","viscerates","smashes","insults") + visible_message("[exp_on] [a], and [b], the experiment was a failure.") + + if(exp == SCANTYPE_DISCOVER) + visible_message("[src] scans the [exp_on], revealing its true nature!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) + var/obj/item/weapon/relic/R = loaded_item + R.reveal() + investigate_log("Experimentor has revealed a relic with [R.realProc] effect.", "experimentor") + ejectItem() + + //Global reactions + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + var/globalMalf = rand(1,100) + if(globalMalf < 15) + visible_message("[src]'s onboard detection system has malfunctioned!") + item_reactions["[exp_on.type]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) + ejectItem() + if(globalMalf > 16 && globalMalf < 35) + visible_message("[src] melts [exp_on], ian-izing the air around it!") + throwSmoke(src.loc) + if(trackedIan) + throwSmoke(trackedIan.loc) + trackedIan.loc = src.loc + investigate_log("Experimentor has stolen Ian!", "experimentor") //...if anyone ever fixes it... + else + new /mob/living/simple_animal/pet/corgi(src.loc) + investigate_log("Experimentor has spawned a new corgi.", "experimentor") + ejectItem(TRUE) + if(globalMalf > 36 && globalMalf < 50) + visible_message("[src] improves [exp_on], drawing the life essence of those nearby!") + for(var/mob/living/m in view(4,src)) + m << "You feel your flesh being torn from you, mists of blood drifting to [src]!" + m.apply_damage(10,"brute","head") + m.apply_damage(10,"brute","chest") + m.apply_damage(10,"brute","groin") + m.apply_damage(10,"brute","r_leg") + m.apply_damage(10,"brute","l_leg") + investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", "experimentor") + var/list/reqs = ConvertReqString2List(exp_on.origin_tech) + for(var/T in reqs) + reqs[T] = reqs[T] + 1 + exp_on.origin_tech = list2params(reqs) + investigate_log("Experimentor has set the origin tech of [exp_on] to [exp_on.origin_tech]", "experimentor") + if(globalMalf > 51 && globalMalf < 75) + visible_message("[src] encounters a run-time error!") + throwSmoke(src.loc) + if(trackedRuntime) + throwSmoke(trackedRuntime.loc) + trackedRuntime.loc = src.loc + investigate_log("Experimentor has stolen Runtime!", "experimentor") + else + new /mob/living/simple_animal/pet/cat(src.loc) + investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", "experimentor") + ejectItem(TRUE) + if(globalMalf > 76) + visible_message("[src] begins to smoke and hiss, shaking violently!") + use_power(500000) + investigate_log("Experimentor has drained power from its APC", "experimentor") + + spawn(resetTime) + icon_state = "h_lathe" + recentlyExperimented = 0 + +/obj/machinery/r_n_d/experimentor/Topic(href, href_list) + if(..()) + return + usr.set_machine(src) + + var/scantype = href_list["function"] + var/obj/item/process = locate(href_list["item"]) in src + + if(scantype == "close") + usr << browse(null, "window=experimentor") + else if(scantype == "search") + var/obj/machinery/computer/rdconsole/D = locate(/obj/machinery/computer/rdconsole) in oview(3,src) + if(D) + linked_console = D + else if(scantype == "eject") + ejectItem() + else if(scantype == "refresh") + src.updateUsrDialog() + else + if(recentlyExperimented) + usr << "[src] has been used too recently!" + return + var/dotype + if(text2num(scantype) == SCANTYPE_DISCOVER) + dotype = SCANTYPE_DISCOVER + else + dotype = matchReaction(process,scantype) + experiment(dotype,process) + use_power(750) + if(dotype != FAIL) + if(process && process.origin_tech) + var/list/temp_tech = ConvertReqString2List(process.origin_tech) + for(var/T in temp_tech) + linked_console.files.UpdateTech(T, temp_tech[T]) + linked_console.files.UpdateDesigns(process,process.type) + if(scantype != "close") + src.updateUsrDialog() + return + +//~~~~~~~~Admin logging proc, aka the Powergamer Alarm~~~~~~~~ +/obj/machinery/r_n_d/experimentor/proc/warn_admins(mob/user, ReactionName) + var/turf/T = get_turf(src) + message_admins("Experimentor reaction: [ReactionName] generated by [key_name_admin(user)](?) (FLW) at ([T.x],[T.y],[T.z] - JMP)",0,1) + log_game("Experimentor reaction: [ReactionName] generated by [key_name(user)] in ([T.x],[T.y],[T.z])") + +#undef SCANTYPE_POKE +#undef SCANTYPE_IRRADIATE +#undef SCANTYPE_GAS +#undef SCANTYPE_HEAT +#undef SCANTYPE_COLD +#undef SCANTYPE_OBLITERATE +#undef SCANTYPE_DISCOVER + +#undef EFFECT_PROB_VERYLOW +#undef EFFECT_PROB_LOW +#undef EFFECT_PROB_MEDIUM +#undef EFFECT_PROB_HIGH +#undef EFFECT_PROB_VERYHIGH + +#undef FAIL + + +//////////////////////////////////SPECIAL ITEMS//////////////////////////////////////// + +/obj/item/weapon/relic + name = "strange object" + desc = "What mysteries could this hold?" + icon = 'icons/obj/assemblies.dmi' + origin_tech = "combat=1;plasmatech=1;powerstorage=1;materials=1" + var/realName = "defined object" + var/revealed = FALSE + var/realProc + var/cooldownMax = 60 + var/cooldown + +/obj/item/weapon/relic/New() + icon_state = pick("shock_kit","armor-igniter-analyzer","infra-igniter0","infra-igniter1","radio-multitool","prox-radio1","radio-radio","timer-multitool0","radio-igniter-tank") + realName = "[pick("broken","twisted","spun","improved","silly","regular","badly made")] [pick("device","object","toy","illegal tech","weapon")]" + + +/obj/item/weapon/relic/proc/reveal() + if(revealed) //Re-rolling your relics seems a bit overpowered, yes? + return + revealed = TRUE + name = realName + cooldownMax = rand(60,300) + realProc = pick("teleport","explode","rapidDupe","petSpray","flash","clean","corgicannon") + +/obj/item/weapon/relic/attack_self(mob/user) + if(revealed) + if(cooldown) + user << "[src] does not react!" + return + else if(src.loc == user) + cooldown = TRUE + call(src,realProc)(user) + spawn(cooldownMax) + cooldown = FALSE + else + user << "You aren't quite sure what to do with this, yet." + +//////////////// RELIC PROCS ///////////////////////////// + +/obj/item/weapon/relic/proc/throwSmoke(turf/where) + var/datum/effect/effect/system/harmless_smoke_spread/smoke = new + smoke.set_up(1,0, where, 0) + smoke.start() + +/obj/item/weapon/relic/proc/corgicannon(mob/user) + playsound(src.loc, "sparks", rand(25,50), 1) + var/mob/living/simple_animal/pet/corgi/C = new/mob/living/simple_animal/pet/corgi(get_turf(user)) + C.throw_at(pick(oview(10,user)),10,rand(3,8)) + throwSmoke(get_turf(C)) + warn_admins(user, "Corgi Cannon", 0) + +/obj/item/weapon/relic/proc/clean(mob/user) + playsound(src.loc, "sparks", rand(25,50), 1) + var/obj/item/weapon/grenade/chem_grenade/cleaner/CL = new/obj/item/weapon/grenade/chem_grenade/cleaner(get_turf(user)) + CL.prime() + warn_admins(user, "Smoke", 0) + +/obj/item/weapon/relic/proc/flash(mob/user) + playsound(src.loc, "sparks", rand(25,50), 1) + var/obj/item/weapon/grenade/flashbang/CB = new/obj/item/weapon/grenade/flashbang(get_turf(user)) + CB.prime() + warn_admins(user, "Flash") + +/obj/item/weapon/relic/proc/petSpray(mob/user) + var/message = "[src] begans to shake, and in the distance the sound of rampaging animals arises!" + visible_message(message) + user << message + var/animals = rand(1,25) + var/counter + var/list/valid_animals = list(/mob/living/simple_animal/parrot,/mob/living/simple_animal/butterfly,/mob/living/simple_animal/pet/cat,/mob/living/simple_animal/pet/corgi,/mob/living/simple_animal/crab,/mob/living/simple_animal/pet/fox,/mob/living/simple_animal/lizard,/mob/living/simple_animal/mouse,/mob/living/simple_animal/pet/pug,/mob/living/simple_animal/hostile/bear,/mob/living/simple_animal/hostile/poison/bees,/mob/living/simple_animal/hostile/carp) + for(counter = 1; counter < animals; counter++) + var/mobType = pick(valid_animals) + new mobType(get_turf(src)) + warn_admins(user, "Mass Mob Spawn") + if(prob(60)) + user << "[src] falls apart!" + qdel(src) + +/obj/item/weapon/relic/proc/rapidDupe(mob/user) + audible_message("[src] emits a loud pop!") + var/list/dupes = list() + var/counter + var/max = rand(5,10) + for(counter = 1; counter < max; counter++) + var/obj/item/weapon/relic/R = new src.type(get_turf(src)) + R.name = name + R.desc = desc + R.realName = realName + R.realProc = realProc + R.revealed = TRUE + dupes |= R + spawn() + R.throw_at(pick(oview(7,get_turf(src))),10,1) + counter = 0 + spawn(rand(10,100)) + for(counter = 1; counter <= dupes.len; counter++) + var/obj/item/weapon/relic/R = dupes[counter] + qdel(R) + warn_admins(user, "Rapid duplicator", 0) + +/obj/item/weapon/relic/proc/explode(mob/user) + user << "[src] begins to heat up!" + spawn(rand(35,100)) + if(src.loc == user) + visible_message("The [src]'s top opens, releasing a powerful blast!") + explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2) + warn_admins(user, "Explosion") + qdel(src) //Comment this line to produce a light grenade (the bomb that keeps on exploding when used)!! + +/obj/item/weapon/relic/proc/teleport(mob/user) + user << "The [src] begins to vibrate!" + spawn(rand(10,30)) + var/turf/userturf = get_turf(user) + if(src.loc == user && userturf.z != ZLEVEL_CENTCOMM) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you! + visible_message("The [src] twists and bends, relocating itself!") + throwSmoke(userturf) + do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg') + throwSmoke(get_turf(user)) + warn_admins(user, "Teleport", 0) + +//Admin Warning proc for relics +/obj/item/weapon/relic/proc/warn_admins(mob/user, RelicType, priority = 1) + var/turf/T = get_turf(src) + var/log_msg = "[RelicType] relic used by [key_name(user)] in ([T.x],[T.y],[T.z])" + if(priority) //For truly dangerous relics that may need an admin's attention. BWOINK! + message_admins("[RelicType] relic activated by [key_name_admin(user)](?) (FLW) in ([T.x],[T.y],[T.z] - JMP)",0,1) + log_game(log_msg) + investigate_log(log_msg, "experimentor") diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 671ab0d8455..671fc9a369b 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -1119,7 +1119,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/mechanics name = "Mechanics R&D Console" desc = "A console used to interface with R&D tools." - id = 2 + id = 4 req_access = null req_access_txt = "70" @@ -1127,3 +1127,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, name = "Core R&D Console" desc = "A console used to interface with R&D tools." id = 1 + +/obj/machinery/computer/rdconsole/experiment + name = "E.X.P.E.R.I-MENTOR R&D Console" + desc = "A console used to interface with R&D tools." + id = 3 \ No newline at end of file diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 1f90d628de4..69822c8706f 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/obj/machines/heavy_lathe.dmi b/icons/obj/machines/heavy_lathe.dmi index b8718aa67ee..68557159eb4 100644 Binary files a/icons/obj/machines/heavy_lathe.dmi and b/icons/obj/machines/heavy_lathe.dmi differ diff --git a/paradise.dme b/paradise.dme index b023631b502..df2374b1f2e 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1470,6 +1470,7 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" #include "code\modules\mob\living\simple_animal\hostile\pirate.dm" +#include "code\modules\mob\living\simple_animal\hostile\poison_bees.dm" #include "code\modules\mob\living\simple_animal\hostile\russian.dm" #include "code\modules\mob\living\simple_animal\hostile\spaceworms.dm" #include "code\modules\mob\living\simple_animal\hostile\statue.dm" @@ -1710,6 +1711,7 @@ #include "code\modules\research\circuitprinter.dm" #include "code\modules\research\designs.dm" #include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\experimentor.dm" #include "code\modules\research\message_server.dm" #include "code\modules\research\protolathe.dm" #include "code\modules\research\rd-readme.dm"