diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index be38675aa71..553d98e3ebd 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -3941,9 +3941,9 @@
"bxO" = (/turf/simulated/wall,/area/medical/research{name = "Research Division"})
"bxP" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
"bxQ" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/medical/research{name = "Research Division"})
-"bxR" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab)
+"bxR" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/obj/machinery/door_control{id = "rdlab"; name = "Research and Development Lab Shutters Control"; pixel_x = -24; pixel_y = 0; req_access_txt = "47"},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab)
"bxS" = (/obj/structure/stool,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab)
-"bxT" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk,/obj/item/weapon/disk/tech_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/door_control{id = "rdlab"; name = "Research and Development Lab Shutters Control"; pixel_x = 24; pixel_y = 24; req_access_txt = "47"},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab)
+"bxT" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk,/obj/item/weapon/disk/tech_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/disk/design_disk,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab)
"bxU" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bxV" = (/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bxW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -4670,7 +4670,7 @@
"bLP" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/turf/simulated/floor/plasteel,/area/crew_quarters/heads)
"bLQ" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/yellow,/obj/item/device/eftpos,/obj/item/weapon/book/manual/sop_supply,/turf/simulated/floor/plasteel,/area/quartermaster/office)
"bLR" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/crew_quarters/heads)
-"bLS" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
+"bLS" = (/obj/machinery/computer/guestpass{pixel_y = 30},/obj/machinery/photocopier,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab)
"bLT" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/server)
"bLU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/server)
"bLV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/server)
@@ -4708,8 +4708,8 @@
"bMB" = (/obj/machinery/cell_charger,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay Cryogenics"; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/cryo)
"bMC" = (/obj/machinery/camera{c_tag = "Medbay Cloning"; network = list("SS13")},/obj/structure/closet/wardrobe/medic_white,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
"bMD" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
-"bME" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
-"bMF" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical1,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics)
+"bME" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
+"bMF" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical1,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 27},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics)
"bMG" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/camera{c_tag = "Research Genetics North"; network = list("Research","SS13")},/obj/machinery/power/apc{dir = 1; name = "Genetics APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics)
"bMH" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
"bMI" = (/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/weapon/hand_labeler,/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics)
@@ -4864,7 +4864,7 @@
"bPB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/cryo)
"bPC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/cryo)
"bPD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/cryo)
-"bPE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
+"bPE" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/medical/genetics)
"bPF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
"bPG" = (/obj/effect/landmark/start{name = "Geneticist"},/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/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
"bPH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
@@ -4872,7 +4872,7 @@
"bPJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
"bPK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
"bPL" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
-"bPM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
+"bPM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
"bPN" = (/turf/simulated/wall/r_wall,/area/toxins/server_coldroom)
"bPO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/toxins/server_coldroom)
"bPP" = (/turf/simulated/wall/r_wall,/area/toxins/server)
@@ -4953,9 +4953,9 @@
"bRm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/wall,/area/medical/genetics_cloning)
"bRn" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/obj/item/roller,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
"bRo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
-"bRp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
-"bRq" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "station intercom (General)"; pixel_x = -28},/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/wolpincubes,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
-"bRr" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/roller,/obj/item/weapon/storage/box/disks,/obj/structure/table/glass,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
+"bRp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
+"bRq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
+"bRr" = (/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor)
"bRs" = (/obj/machinery/r_n_d/server/robotics,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 250; oxygen = 0; temperature = 0},/area/toxins/server_coldroom)
"bRt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 250; oxygen = 0; temperature = 0},/area/toxins/server_coldroom)
"bRu" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "Server Coldroom APC"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 250; oxygen = 0; temperature = 0},/area/toxins/server_coldroom)
@@ -4974,7 +4974,7 @@
"bRH" = (/obj/machinery/computer/mecha,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bRI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/rack,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor)
"bRJ" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor)
-"bRK" = (/obj/item/device/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor)
+"bRK" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bRL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bRM" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; name = "Cargo Requests Console"; departmentType = 2; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
"bRN" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock)
@@ -5021,9 +5021,9 @@
"bSC" = (/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/plasteel{icon_state = "white"},/area/medical/cryo)
"bSD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/genetics_cloning)
"bSE" = (/obj/machinery/clonepod/biomass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
-"bSF" = (/obj/machinery/computer/cloning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
+"bSF" = (/turf/simulated/floor/plasteel{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
"bSG" = (/obj/machinery/dna_scannernew,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
-"bSH" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
+"bSH" = (/obj/machinery/computer/cloning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics_cloning)
"bSI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
"bSJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
"bSK" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
@@ -5045,7 +5045,7 @@
"bTa" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bTb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bTc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bTd" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/photocopier,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
+"bTd" = (/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
"bTe" = (/obj/machinery/atmospherics/unary/outlet_injector/on,/turf/simulated/floor/plating/airless,/area/toxins/mixing)
"bTf" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/mining)
"bTg" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/mining)
@@ -5119,7 +5119,7 @@
"bUw" = (/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/toxins{pixel_x = 4; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera{c_tag = "Research Director's Office"; dir = 1; network = list("Research","SS13")},/obj/item/clothing/glasses/welding/superior,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bUx" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bUy" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
-"bUz" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
+"bUz" = (/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/glass,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
"bUA" = (/turf/simulated/wall/r_wall,/area/toxins/mixing)
"bUB" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/wall/r_wall,/area/toxins/mixing)
"bUC" = (/turf/simulated/wall/r_wall{desc = "A specially coated wall that resists temperatures for Science"; max_temperature = 1e+009; name = "Coated Reinforced Wall"},/area/toxins/mixing)
@@ -5186,7 +5186,7 @@
"bVL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
"bVM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
"bVN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
-"bVO" = (/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
+"bVO" = (/obj/machinery/photocopier,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor)
"bVP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/wall/r_wall,/area/toxins/server_coldroom)
"bVQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/toxins/server_coldroom)
"bVR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/toxins/server)
@@ -5238,7 +5238,7 @@
"bWL" = (/obj/structure/closet/jcloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel,/area/janitor)
"bWM" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel,/area/janitor)
"bWN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/machinery/newscaster{pixel_y = 30},/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plasteel,/area/janitor)
-"bWO" = (/obj/vehicle/janicart,/turf/simulated/floor/plasteel,/area/janitor)
+"bWO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/vehicle/janicart,/turf/simulated/floor/plasteel,/area/janitor)
"bWP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/janitor)
"bWQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/reagent_dispensers/spacecleanertank{pixel_y = 30},/turf/simulated/floor/plasteel,/area/janitor)
"bWR" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access_txt = "26"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/janitor)
@@ -5277,7 +5277,7 @@
"bXy" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Research Genetics South"; dir = 1; network = list("Research","SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
"bXz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
"bXA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurple"},/area/medical/genetics)
-"bXB" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics)
+"bXB" = (/obj/item/roller,/obj/item/weapon/storage/box/disks,/obj/structure/table/glass,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
"bXC" = (/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)
"bXD" = (/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/explab_chamber)
"bXE" = (/turf/simulated/floor/engine,/area/toxins/explab_chamber)
@@ -5760,7 +5760,7 @@
"cgN" = (/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/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
"cgO" = (/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/plasteel{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2)
"cgP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay2)
-"cgQ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
+"cgQ" = (/obj/structure/stool/bed/chair/office/dark,/obj/item/device/radio/intercom{dir = 0; name = "station intercom (General)"; pixel_x = -28; pixel_y = -28},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
"cgR" = (/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/plasteel{icon_state = "white"},/area/toxins/explab)
"cgS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
"cgT" = (/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/plasteel{icon_state = "white"},/area/toxins/explab)
@@ -6599,7 +6599,6 @@
"cwU" = (/turf/simulated/wall,/area/engine/mechanic_workshop)
"cwV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/aft)
"cwW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cwX" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating/airless,/area/assembly/assembly_line)
"cwY" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/assembly/assembly_line)
"cwZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
"cxa" = (/obj/item/weapon/camera_assembly,/turf/simulated/floor/plasteel,/area/assembly/assembly_line)
@@ -8850,6 +8849,7 @@
"doj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/aft)
"dok" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft)
"dol" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/aft)
+"dom" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/explab)
"don" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft)
"doo" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/aft)
"dop" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -8867,6 +8867,7 @@
"doB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
"doC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/maintenance/aft)
"doD" = (/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/plating,/area/space)
+"doE" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/wolpincubes,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics)
(1,1,1) = {"
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
@@ -9008,20 +9009,20 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjCdjEdjDdjGdjFdjIdjHdjFdjJdjLdjKdjydjydjBbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevbGWbmrbNkbmrbGXbGYbGZbGYbGYbGYbGYbHabyvbAfbHbbngbngbHcbpIbAibFvbHdbtLbHebHfbHfbHgbHhbHibHjbHkbHlbHmbHnbHobHpbHqbHrbHsbCpbCqbAEbvjbEibHubHvbHwbHxbvjbikbEkbHybHzbHybHybHybHybHybHAbHybKPbvwbKObucbHCbHDbHDbHEbHFbEybHGbHHbHIbHJbHKbHLbHMbHIbHNbHObHPbHQbHRbHSbHTbHTbHUbHVbHWbHXbHYbLibLCbLBbNdbNcbNebIfbIfbIgbIhbIibxGbIjbxJbxJbIkbIlbEUbImbInbIobIpbIqbIrbIsbItbIubIvbIubusbusbIwbEXbGxbLDbLDbLDbLDbLDbGxbFhbFkbFibFkbFkbGTbFhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjHdjHdjHdjMdjFdjNdjNdjFdjOdjHdjHdjQdjPdjydjBbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevbLFbKmbIAbKmbIBbAebFqbFrbFrbFrbAebAebyvbAfbICbKobngbIEbpIbAibFvbIFbtLbIGbpIbrsbpIbIHbDXbvvbIIbHlbHmbIJbIKbILbIMbINbIObIPbIQbIRbISbISbITbIUbIVbvjbvjbikbEkbHybIWbIXbIYbIZbJabJbbJcbJdbMhbvwbKObCHbJfbJgbJhbJibJjbEybJkbJlbJmbJnbJobJpbJqbJrbJsbJtbJubJvbJwbJxbJybJzbJAbJBbJCbJDbJEbGwchEbIecnfcjubvYbJIbJJbJKbJLbJLbxGbJMbJNbJObxGbJPbEUbJQbxGbJRbJSbJTbJUbJVbJWbJXbJYbJZbKabKbbKcbKdbKebKfbKfbIxbJFbJHbGzbKlbFfbDBbNhbDBbFfbLEaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydjSdjRdjUdjTdjVdjFdjWdjHdjXdjHdjHdjHdjHdjHdjMdjFbikbikbikbikbikbikbikbikbikbikdewdeCdevdevdevcOfdewbFnbBRbBRdezbAebFqbAebAebAebAebAebyvbAfbICbLwbngbLQbpIbKqbKrbpIbKsbpHbpIbpIbKtbtLbDXbvvbIIbHlbHmbCpbKubKvbqzbKxbKybKzbKAbKBbKCbKDbwXbKEbKFbwXbwYbwYbKGbHybKHbKIbKJbKKbKLbKLbKMbKNbMibvwbMjbucbEybKQbEubKRbKSbEybJkbKTbKUbKVbKWbKXbKYbKUbJkbKZbLabLbcchbLbbLcbLbbLdbLdbLebLfbLgbLhbLhcpLbLgbLgbLhbLhbLjbLkbLjbLjbxGbxGbxGbxGbxGbLlbLmbBobxGbLnbLobLpbLqbLqbLrbLsbLtbLubLvbLIbLxbLybLzbLAbLAbEObGAbHZbGxbGzbGzbGzbIabGxbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjZdjYdjHdjHdkadkadkadjFdjHdjHdjFdkbdkddkcdkfdkedkgdjFbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevbWobKmbIAbKmbFobLGbLHbAebAebAebLGbAebyvbAfbICbNrbngbLJbpIbAibFvbpIbnmbLKbpIbpIbLLbtLbDXbvvbLMbHlbLNbCpbLObLPdiNbLRcobbKzbLTbLUbLVbLWbLXbLYbLZbMabikbikbikbHybMbbMcbMdbMdbMebMfbMgbHybNSbNRbKObNTbMkbMlbMmbMnbMobMpbMqbJlbMrbMsbMtbMubMvbMrbJkbKZbMwbMxbMybMzbMAbMBbLdbMCbMDbMEbLgbMFbMGbMHbMIbMJbMKbMLbKabMMbLqbLqbMNbMObLqbMPbMQbMRbMSbMTbLqbMUbiTbMWbMXbMYbMZbNabNbbNabNabNabIwbEXbGxbLDbLDbGxcnccndcnebOQbOSbUHbYdbGzbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjZdjYdjHdjHdkadkadkadjFdjHdjHdjFdkbdkddkcdkfdkedkgdjFbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevbWobKmbIAbKmbFobLGbLHbAebAebAebLGbAebyvbAfbICbNrbngbLJbpIbAibFvbpIbnmbLKbpIbpIbLLbtLbDXbvvbLMbHlbLNbCpbLObLPdiNbLRcobbKzbLTbLUbLVbLWbLXbLYbLZbMabikbikbikbHybMbbMcbMdbMdbMebMfbMgbHybNSbNRbKObNTbMkbMlbMmbMnbMobMpbMqbJlbMrbMsbMtbMubMvbMrbJkbKZbMwbMxbMybMzbMAbMBbLdbMCbMDbMEbPEbMFbMGbMHbMIbMJbMKbMLbKabMMbLqbLqbMNbMObLqbMPbMQbMRbMSbMTbLqbMUbiTbMWbMXbMYbMZbNabNbbNabNabNabIwbEXbGxbLDbLDbGxcnccndcnebOQbOSbUHbYdbGzbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkhdjYdjHdjHdjHdjHdjHdkidjHdjHdjFdjydjydjydjydjydjydkjbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevdeEdeDdeGdeDbNlbNmbNnbNnbNnbNnbNnbNobNpbNqbICbWSbngbNsbNtbNubNvbNwbNxbNybNybNybNzbNzbNAbvvbNBbNCbHmbCpbNDbNEbNFbKvbNGbKzbNHbNIbNJbNKbNLbFNbNMbMabikbikbikbHybNNbNObNPbNQbMebMfbMgbHybPibNUbQObPjbNVbNWbNXbNYbNZbOabObbOcbKUbKUbOdbOebKUbKUbJkbKZbOfbOgbOhbOibOjbOkbLdbOlbOmbOnbOobOpbOqbOrbOrbOsbOtbOubOvbOwbJVbJVbOxbJVbOybJVbOzbJVbOAbOBbOBbOCbODbOEbOFbOGbOHcsjbOJbOKbOLbNabOMcxHbikbikbikbGxbORbJFbOPbOQbGzbOObNibGxbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkmdkldkodkndjHdjFdjHdjHdjFdjHdkqdkpdkrbikbikbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevdewbFnbBRbBRbngbngbBRbBRbBRbBRbBRbngbngbBRbBRbBRbngbOVbOVbOVbOWbOVbNzbOXbOYbOZbPabNzbDXbvvbPbbPcbPcbCpbCpbCpbCpbCpbPdbKzbISbIRbPebNKbPgbPhbMabMabvjbvjbvjbHybHzbHybHybHybHybHybHybHybQPbvwbQQbPkbPlbPmbPnbPlbPlbPobPpbPqbPrbPsbPtbPubPvbPwbMqbPxbPybPzbPAbPBbPCbPDbPEbPFbPGbPHbPIbPJbPKbPLbMHbPMbLhbLhbPNbPObPNbPPbPQbPPbPPbPPbPRbPSbPTbPTbPUbPVbPWbPXbOFbPYbPZbQabQbbQcbQdbNabOMcxHbikbikbikbGxbNfbNgbGxbGzbGxbGxbGzbGxbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjydjydjydjydjydjydjFdjOdjHdksdjHdkudktdkvbikbikbikbikbikbikbikbikbikbikbikbikbikdeJdeIdevdeKdevdeLdeMbikbikbikbikbikbikbikbikbikbikbQgaabbikbikbikbikbOVbQhbQibQjbQkbNzbQlbQmbQnbQobNzbDXbvvbQpbQqbQrbQsbQtbQubQvbQwbQxbQybQzbQAbQBbQCbQDbQEbQFbQGbQHbQIbQJbQKbQLbQMbQRbuabQSbvwbShbSgbSibvwbSjbPlbQTbQUbQVbQWbQXbJkbQYbQZbRabRbbRcbRdbRebRfbRgbRhbRibLbbRjbOibRkbRlbRmbRnbRobRpbLgbRqbMHbMHbMHbRrbLhbPNbRsbRtbRubRvbRwbRxbRybPPbRzbRAbRBbPTbPTbRCbPWbRDbREbWHbRGbRHbRIbRJbRKbNabRLbwobikbikbikbGxbGxbGxbGxbikbikaabbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydkxdkwdkydkxdkzdjFdjHdjHdjFdjHdkBdkAdkCbikbikbikbikbikbikbikbikbikbikbikbikbikdmideNdePdePdePdeNdmHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbOVbRMbRNbRObRPbNybRQbRRbRSbRTbNzbDXbRUbRVbvvbvvbFXbRWbubbQNbQMbRXbRYbRXbRZbSabSabSbbScbSdbSabSabSebSabSfbSabQMbQRbuabSlbSkbTJbTIbTLbTKbvwbPlbSmbQUbSnbSobSpbJkbSqbSrbSsbStbSubSvbSwbSxbJkbSybSzbLbbSAbSBbSBbSCbSDbSEbSFbSGbLgbSHbSIbMHbSJbSKbLhbPNbSLbSMbSNbSObSPbSQbSRbPPbSSbRAbSTbSTbPTbSUdnjbSWbSXbSYbSZbTabTbbTcbTdbNabOMbwobTebikbikbikbikbikbikbikbikaabbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjZdjYdkDdkDdkDdkDdkDdkEdjHdjHdjFdjydjydjydjydjydjydjBbikbikbikbikbikbikbikbikbikbikbikdeRdeSdeSdeSdeTbikbikbikbikbikbikbikbikbOUbOTbQebOTbQfbikbikbikbOVbOVbTjbTkbRObTlbNybTmbQnbTnbTobNzbDXbTpbTqbTrbTsbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTCbTDbTEbTEbTEbTEbTEbTEbTFbTGbTHbTNbTMbTPbTOdlidjmdlkdljdllbPlbTQbQUbQVbTRbSpbJkbSqbSrbTSbTTbTUbTVbTWbTXbJsbTYbTZbLbbLbbUabUabLbbSDbLdbUbbUcbLgbUdbUebUfbUgbUhbLhbPNbUibUjbUkbUlbUmbUnbUobPPbUpbRAbSTbSTbPTbUqbUrbUsbUtbUubUvbUwbUxbUybUzbNabOMbUAbUBbUAbUCbUDbUCbUCbUCbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaabaabbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkhdjYdkDdkDdkDdkFdkGdjFdjHdjHdjFdjHdjHdjHdkHdjHdkIdjFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbTgbTfbTibThbTgbUIbUIbUIbOVbUJbUKbULbUMbUNbUObUPbUQbUQbURbNzbUSbUTbUUbUVbUVbUWbUXbUYbUVbUZbUZbVabVbbONbUZbUZbVdbQMbQMbVebVfbVfbVfbVgbVhbVfbVfbVibVjbVkbVkbVlbVkbVmbVnbVkbVobVpbVqbPlbVrbVsbSqbVtbVubVvbVwbVxbVybVubJkbSybVzbVAbVBbVCbVDbVEbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObLhbPNbPNbVPbVQbVRbVSbVRbVTbPPbVUbVVbVWbVWbPTbVXbVYbVZbNabNabNabNabNabNabNabNabOMbUAbWabWbbWcbWdbWdbWebUCbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikaabbWfbWfbWfbWfbWgbWgbWhbWhbWhbWhbWiaabaabbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkKdkJdkDdkLdkMdjFdjHdjHdkNdjHdjHdjHdkOdjHdkPdjFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbQebUEbUFbUEbQebUIbWmbWlbOVbWnbWpbWqbWrbWsbNzbWtbWubWvbWwbNzbUTbUTbWxbUVbWybWzbWAbWBbWCbUZdmbbWEbWFbWGcAzbUZbWIbWJbWKbVfbWLbWMbWObWNbWPbWQbWRceLbWTbWUbWVbWWbWXbWYbWZbXabXbbXcbXdbXebXfbXgbXhbSrbXibXjbXkbXlbXmbXnbJsbXobXpbXqbXrbVDbXsbXsbXtbXubLgbXvbXwbXxbXybXzbXAbXBbLhbXCbXDbXEbXFbXEbXEbXGbXHbXIbXJbXKbXLbXMbPTbXNbXObPXbEXbxXbXPbXQbXRbXRbXQbXRbXSbUAbXTbXUbWcbWdbXWbXVbUCbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfbXXbXYbXXbWgbWhbWhbXZbYabXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkmdkldkodkndjHdjFdjHdjHdjFdjHdkqdkpdkrbikbikbikbikbikbikbikbikbikbikbikbikbikdewdevdevdevdevdevdewbFnbBRbBRbngbngbBRbBRbBRbBRbBRbngbngbBRbBRbBRbngbOVbOVbOVbOWbOVbNzbOXbOYbOZbPabNzbDXbvvbPbbPcbPcbCpbCpbCpbCpbCpbPdbKzbISbIRbPebNKbPgbPhbMabMabvjbvjbvjbHybHzbHybHybHybHybHybHybHybQPbvwbQQbPkbPlbPmbPnbPlbPlbPobPpbPqbPrbPsbPtbPubPvbPwbMqbPxbPybPzbPAbPBbPCbPDbRpbPFbPGbPHbPIbPJbPKbPLbTdbXBbLhbLhbPNbPObPNbPPbPQbPPbPPbPPbPRbPSbPTbPTbPUbPVbPWbPXbOFbPYbPZbQabQbbQcbQdbNabOMcxHbikbikbikbGxbNfbNgbGxbGzbGxbGxbGzbGxbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjydjydjydjydjydjydjFdjOdjHdksdjHdkudktdkvbikbikbikbikbikbikbikbikbikbikbikbikbikdeJdeIdevdeKdevdeLdeMbikbikbikbikbikbikbikbikbikbikbQgaabbikbikbikbikbOVbQhbQibQjbQkbNzbQlbQmbQnbQobNzbDXbvvbQpbQqbQrbQsbQtbQubQvbQwbQxbQybQzbQAbQBbQCbQDbQEbQFbQGbQHbQIbQJbQKbQLbQMbQRbuabQSbvwbShbSgbSibvwbSjbPlbQTbQUbQVbQWbQXbJkbQYbQZbRabRbbRcbRdbRebRfbRgbRhbRibLbbRjbOibRkbRlbRmbRnbRobRqbPEbSFbMHbMHbMHbUzbLhbPNbRsbRtbRubRvbRwbRxbRybPPbRzbRAbRBbPTbPTbRCbPWbRDbREbWHbRGbRHbRIbRJbRrbNabRLbwobikbikbikbGxbGxbGxbGxbikbikaabbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjxdjydkxdkwdkydkxdkzdjFdjHdjHdjFdjHdkBdkAdkCbikbikbikbikbikbikbikbikbikbikbikbikbikdmideNdePdePdePdeNdmHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbOVbRMbRNbRObRPbNybRQbRRbRSbRTbNzbDXbRUbRVbvvbvvbFXbRWbubbQNbQMbRXbRYbRXbRZbSabSabSbbScbSdbSabSabSebSabSfbSabQMbQRbuabSlbSkbTJbTIbTLbTKbvwbPlbSmbQUbSnbSobSpbJkbSqbSrbSsbStbSubSvbSwbSxbJkbSybSzbLbbSAbSBbSBbSCbSDbSEbSHbSGbPEcgQbSIbMHbSJbSKbLhbPNbSLbSMbSNbSObSPbSQbSRbPPbSSbRAbSTbSTbPTbSUdnjbSWbSXbSYbSZbTabTbbTcbRKbNabOMbwobTebikbikbikbikbikbikbikbikaabbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdjZdjYdkDdkDdkDdkDdkDdkEdjHdjHdjFdjydjydjydjydjydjydjBbikbikbikbikbikbikbikbikbikbikbikdeRdeSdeSdeSdeTbikbikbikbikbikbikbikbikbOUbOTbQebOTbQfbikbikbikbOVbOVbTjbTkbRObTlbNybTmbQnbTnbTobNzbDXbTpbTqbTrbTsbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTCbTDbTEbTEbTEbTEbTEbTEbTFbTGbTHbTNbTMbTPbTOdlidjmdlkdljdllbPlbTQbQUbQVbTRbSpbJkbSqbSrbTSbTTbTUbTVbTWbTXbJsbTYbTZbLbbLbbUabUabLbbSDbLdbUbbUcbLgbUdbUebUfbUgbUhbLhbPNbUibUjbUkbUlbUmbUnbUobPPbUpbRAbSTbSTbPTbUqbUrbUsbUtbUubUvbUwbUxbUybVObNabOMbUAbUBbUAbUCbUDbUCbUCbUCbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaabaabbikbikbikbikaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkhdjYdkDdkDdkDdkFdkGdjFdjHdjHdjFdjHdjHdjHdkHdjHdkIdjFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbTgbTfbTibThbTgbUIbUIbUIbOVbUJbUKbULbUMbUNbUObUPbUQbUQbURbNzbUSbUTbUUbUVbUVbUWbUXbUYbUVbUZbUZbVabVbbONbUZbUZbVdbQMbQMbVebVfbVfbVfbVgbVhbVfbVfbVibVjbVkbVkbVlbVkbVmbVnbVkbVobVpbVqbPlbVrbVsbSqbVtbVubVvbVwbVxbVybVubJkbSybVzbVAbVBbVCbVDbVEbVFbVGbVHbVIbVJbVKbVLbVMbVNbPMbLhbPNbPNbVPbVQbVRbVSbVRbVTbPPbVUbVVbVWbVWbPTbVXbVYbVZbNabNabNabNabNabNabNabNabOMbUAbWabWbbWcbWdbWdbWebUCbikbikbikbikbikbikbikaabbikbikbikbikbikbikbikbikbikbikbikbikaabbWfbWfbWfbWfbWgbWgbWhbWhbWhbWhbWiaabaabbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkKdkJdkDdkLdkMdjFdjHdjHdkNdjHdjHdjHdkOdjHdkPdjFbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbQebUEbUFbUEbQebUIbWmbWlbOVbWnbWpbWqbWrbWsbNzbWtbWubWvbWwbNzbUTbUTbWxbUVbWybWzbWAbWBbWCbUZdmbbWEbWFbWGcAzbUZbWIbWJbWKbVfbWLbWMbWObWNbWPbWQbWRceLbWTbWUbWVbWWbWXbWYbWZbXabXbbXcbXdbXebXfbXgbXhbSrbXibXjbXkbXlbXmbXnbJsbXobXpbXqbXrbVDbXsbXsbXtbXubLgbXvbXwbXxbXybXzbXAdoEbLhbXCbXDbXEbXFbXEbXEbXGbXHbXIbXJbXKbXLbXMbPTbXNbXObPXbEXbxXbXPbXQbXRbXRbXQbXRbXSbUAbXTbXUbWcbWdbXWbXVbUCbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWfbXXbXYbXXbWgbWhbWhbXZbYabXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkQdkDdkDdkRdjFdjHdjHdjFdkSdjHdjHdkUdkTdjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbTgbUGbUEbUEdeycOWbTkbTkdeAbZAbTkbWqbYhbYibNzbNzbNzbNzbNzbNzbYjbUTbYkbYlbYmbYnbYnbYnbYobUZbYpbYqbYqbYqbYrbYsbYtbYubYvbYwbYxbYybYzbYAbYBbYCbVfbVibYDbVkbYEbYFbYGbYHbYIbVkbSmbQVbSnbSobYJbYKbYLbYMbYNbYObYPbYQbYRbVubYSbYTbYUbYVbYWbYXbYYbYZbZabZbbLgbLgbLgbLgbLgbZcbZdbZebLhbZfbXEbXEbZgbZhbXEbZibZjbZkbZlbRAbZmbZmbPTbPVbZnbPXbEXbUAbZobUAbUAbUAbUAbUAbUAbUAbZpbZqbUCbZrbZtbZsbUCaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbZubXXbXXbZvbWhbWhbXZbXZbZwbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydkWdkVdkXdjFdjHdkYdjFdkZdladjHdjydjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbQebUFbUFbUFbQebUIbYfbYebZzbZAbTkbZBbZCbZDbZEbZFbZFbZFbZGbUTbUTbUTbWxbUVbZHbYnbZIbYnbZJbUZbYpbYqbZKbYqbZLbUZbZMbZNbZObVfbZPbZQbZRbZSbZTbZUbZVbZWbZXbZYbZZcaacabcaccadbVkbTQbQVbQVcaebYJbYKcafcagcahbXjcaicajcElcalcamcancaocapcaqcarcIfcasbXscatbVAcaucavcawcaxcaycazcaAbZjbZfcaBbXEbXEbXEcaCcaDbZjbZkcaEbRAbZmbZmbPTcaFcaGbPXbEXcaHcaIcaJbUAcaKcaLcaMcaNcaOcaPcaQbUCcaRcaScaTbUCbUAbUAbUAbUAbUAbUAbUAbUAbikbikbikbikbikaabbikbikbikbikbikbikbikcaUbWhbZubWhbWhbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdkkdjydjydjydjydjydjydjydjydjydjydkjbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaabaacbUTcjMcjMbUTcjMcjMbUTbikbikbikbTgbWjbYbbWkbTgbUIbUIbUIbOVcaYcaZcaZcaZbOVbOVbUTcbbcbaccAcbcbUTcbdcbebUVbZHbYnbYnbYncbfbUZbYpbYqbYqcbgcbhcbicbjcbkcblbVfbVfbVfbVfbVfcbmbVfbVfcbncbobVkbVkcbpbVkbVnbVkbVkbPlcbqcbqbPlccicbrcbscbtcbucbvcbwcbxcbycbzcbAcbBcaocapcbCcbDcbEcbFcbGcbHbVAcbIcbJcbKcbLcbMcbNcbOcbPcbQcbPcbRcbRcbRcbPcbScbPcbPcbTcbUbZmbZmbPTcbVbZnbPXcbWcbXcbYcbZccaccbccccccccdcceccfccgcckccjcdqcclcfeccmccnccoccpccqccrccscctaabaabaabaabaabaabaabaabbikbikbikbikbikbWgbWhccuccvccvbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikbikbUTccBcqsbUTccBcqsbUTbikbikbikbYcbOTbYgbOTbZxbikaabbikbOVbOVbOVbOVbOVbOVclabUTcuRcsuccCccDbZFccEccFbUVccGccHdmcbYnccJccKccLccMccNccOccPbUZccQccRccSccTccUccUccUccUccVccWccXccYccYccZccZcdacdbcdcbVibPlcddcdecdfcdgcdhbYKcdicbtcdjcdkcdlcdmbSwcdncdocdpcffcdrcdrcdscdrcdrcdrcdtbVAcducdvcdwcdxcdycdzcdAcbPcdBcdCcdDcdEcdFcdCcdGcdHcdCcdIcdJbRBbPTbPTcdKcdLcdMcdNcdOcdPcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebceaceccebcebcebcedceecefcegcehaabbikbikbikbikaabbikbikbikbikbikbikbikbWhbWhceibXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbXZbWhbWhaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaacbikaacbUTcfQcqsbUTcfQcqsbUTbikbikaabaabaabaabaabaabaabaabaabbUTcqscAjcwNbUTcEvcEwbUTcGJbUTbUTcekbUTbUTcelbUVcemcenceocepceqcercescetceucevcewccKcexceycezceAceBceBceBceBceCceDceEceFceGceFceHceIceJceKchvceMceNceOcePceQceRceSceTceUceVceWceXceYceZcfacfbcfccfgbMmbMmcfichOcgHceYchVcfjcfjcfkcfjcflcfmcfncfocbPcfpcfqcfrcfscfrcftcfucfvcdCbPTcfwbPTbPTcfxcfybZnbBxbEXbUAcfzbUAbUAcfAcfBcfCcfDcfEcebcfFcfGcfHcdUcfHcdUcfIcdUcdUbUAcfJcfKcfLcfMaabaabaabaabaabaabaabaabbikbikbikbikbikbWhbXZbXZbXZbXZbXZbXZcfNbXZcfObXZbXZbXZbXZbXZbWhbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabdnkaacaabaDDaDDaacbUTbUTcekbUTbUTcekbUTbUTbUTcjMcjMcjMbUTbUTbUTbUTbUTbUTbUTcqschodnmbUTdnnbUTbUTdnobUTcfPbVccqsbUTcfSbUVcfTcfUcfVbZHcfWcfXcfYbYpcfZcgacgbcfXcgccgdcgecgfcgfcggcghcgicgjcgkcglcgmbGycgnbVicgobGybGycgpcgqcgrcgscgtceQcgucgvcgwcgxcgycgzbMVcgBcgCcgzcgzcgDcgEcgEcgEcgEcgEcgGcgFciOcgJcgJcgKcgLcgMcgNcgOcgPcbPcgQcgRcgScgTcgScgUcgVcfrcgWcgXcgYbBxcgZbBxcfybZnbBxbEXchachbchcbUAbUAbUAbUAbUAchdcdUchechfcfIcdUchgcdUbZpcdUchhbUAchichjchkbUAaabbikbikbikbikaabbikbikbikbikbikbikbikbWhchlchlchlchlchlchlchmbXZchnchlcfObXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabdnkaacaabaDDaDDaacbUTbUTcekbUTbUTcekbUTbUTbUTcjMcjMcjMbUTbUTbUTbUTbUTbUTbUTcqschodnmbUTdnnbUTbUTdnobUTcfPbVccqsbUTcfSbUVcfTcfUcfVbZHcfWcfXcfYbYpcfZcgacgbcfXcgccgdcgecgfcgfcggcghcgicgjcgkcglcgmbGycgnbVicgobGybGycgpcgqcgrcgscgtceQcgucgvcgwcgxcgycgzbMVcgBcgCcgzcgzcgDcgEcgEcgEcgEcgEcgGcgFciOcgJcgJcgKcgLcgMcgNcgOcgPcbPdomcgRcgScgTcgScgUcgVcfrcgWcgXcgYbBxcgZbBxcfybZnbBxbEXchachbchcbUAbUAbUAbUAbUAchdcdUchechfcfIcdUchgcdUbZpcdUchhbUAchichjchkbUAaabbikbikbikbikaabbikbikbikbikbikbikbikbWhchlchlchlchlchlchlchmbXZchnchlcfObXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaaccjMcqscqscqscqsdoadnxcqscqscuRdnpdnpdowdnpdnpdnpdnpdnpdnpdnpdnpdnpdnpdnpdnpcsubUTchocfQchpbUTcfSchrchrchrchrchrchrbUZbUZbUZbUZbUZbUZbUZchschtchucWpchwchxchychychzchAcglbGybGychBchCchDbGybGybGycqOchFchGceOchHchIchJcgEchKchLchMbSqchLchNcfdcfdcfdcjncjlcjlcjlcjlckacgIbSqclPchPchQchRchSchTchUclQcbPchWchXcfrchYcfrchZciacibciccidciecifbBxcigcfybZncihbEXbFeciicijcikbwobxXbxXbUAcilcimcinciocipciqcirciscitciucivbUAciwciycixcizbikbikbikbikaahbikbikbikbikbikbikbikbikciAbXXbXXbXXbXXbXXbXXbXXciBciCbXZbXZbXZbXZciDbYabWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaacaabaabaaccjMdnrdnqdnscqscqsdoxcqscqsdnobUTbUTbUTbUTbUTbUTcekbUTbUTbUTbUTdntdntdntdntdntdntdntdntdntbUTcfScejbikbikbikbikciEbaTciGciHciIciJciKciLciMciNcmPciPciQciRciSciSciTciUciVciWciWciWciWciXciWbGybGybPlciYciZcjacjbcjccjdchScjecjfcjgcjhcjicjjcjkcjlcfdcnicjpcjpcjpcjpckNclSckUcnjcjqcjrcjscjtcbAcwncjvcbPcjwcjxcjycjzcjAcfrcjBcbPcbPbEXcjCbEXbEXbEXcjDcjEcjFbEXbxXciicjGcjHbwobwobwobUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbUAbikbikbikbikbikaabbikbikbikbikbikbikbikbWhccvccvccvccvccvccvcjIbXZccuccvcjJbXZbXZbXZbXZbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbUTcjKcjKcjKcjKcjKcjKcjLcjKdnodnubUTcqsdoydnwdnycqsdnydnvdnzdnwdntdnAdnAdntdnBdntdnDdnCdntcqscelcjMbikcjNcjOcjPcjQcjRcjScjTcjUcjVcjWcjXcjYcjZcosckbckcckdckeckfckgckhciVckickjckjckjckkciWbGybGycklcklcklcklckmcklckncknckocklcklckpcklckqckrckscktcksclZaPKcmacmmcmlcmocmnckzckAckBckCckDckEckFcdccbPcbPckGcbPckHcbPckIckJckKcgnckLckMckvckOckPckQckRckSckPbxXciickTbxXbxXckVckWckXchabxXbxXbxXbxXbxXbxXbxXckYckZcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbWhbXZbXZbXZbXZbXZbXZcfNbXZcjJbXZbXZbXZbXZbXZbWhbWhaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
@@ -9035,10 +9036,10 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSecsdctvctvctvdoBcsdctuctvctwctvctxctyctDctCdmedcYdmedmfcxnctEctFctEctEctGcblcblctEctHctEctEctEctEctEctEctEctEctEctEctIctJctKctLctMctNctOctPctQctRctSctTctUctVctWctXciFctZcuacnqcubcuccudcuecufcugcuhcuicpFcujcqKcugcukcqKculcwrbikbikbikdbFcmkdbGdbJdbIdbCdbKdbMdbLdbOdbNceFceJdbPcoDcwpbikbikbikaabaabaabbikbikbikbikbikbikbikckPcurczQcutckPcnCcnCcnCcnCcnCcnCcuuctlcuvcuwcuxcuycnCcnCbwocvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSedobctvdocctvdoBcuBdodcuCcuDcuEcuFcuGcuHcuIcuJcuKcuLcuMcuNcuOcuPcuQdoeceAcuSceAcuNcuTcuNcuNcuNcuNcuNcuNcuNcuNcuNcuNcuUctEcuVcuWcuXcuYcuZcvacvbcvccvdcvecvfcvgcvhcvicvjcvkcsLceJcvlcvmcvncqKcqJcqKcqKcvocpFcvpcqKcqKcqNcqKcyGcwrbikbikbikdbFdbRdbQdbTdbSdbVdbUdbXdbWdbybGychCcyHcuscoAbikbikbikbikbikaabckPckPckPckPckPckPckPckPckPcvucxScvwckPcxOcxOcyIckPaabcnCcnCcvAcnCcvBcvCcvDcnCcyKcyJcvzbxXcxHbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdogdofcrjcrjcrjcrjdnQcrjcrjcrjcrjdnXcrjcvFcvGcvGcvHctBdlXcrjcrmcvJcvKcvKcvLcvKcvMcvKcvKcvNcvOcvKcvKcvOcvOcvOcvKcvKcvKcvKcvPcvQcvRcvScvTcvUcvVcvWcvXcvWcvWcvWcvWcvZcwacwbcwccwdcsObGycvrcwecwfcwgcwhcwicwjcwkcpFcwlcwjcwmcqNcqKcwocpMbikbikbikdbFdbZdbYdcadbIdccdcbdbUczRdbycyObVibVicuscoAbikbikbikbikbikbikckPcwtcwucwvcwwcwxcwycwzcwAcwBczScwDckPcxOcBZcyPckPaabaabcwGcwHcwIcwJcwKcwLcwGbxXbxXcvzczfbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGacGafxafxacGafxafxaabagiaabaqZbikaqZaqZdoidoCdojdojdojdoldokcrjcwOcwPcwQcwRcwScwTcwUcwVcwWcwXcwYcwZcxacxbcxccxdcxecxfcxgcvKcxfcxhcxicxjcxjcxkcvKcxlcxmcxncxocbkcxpcxqcxrcxscxtcxucxtcxvcxwcxxcxycxzcxAcsOcsOcvrcwecpMcpMcxBcpMcpMcxCcxDcxEcxEcxEcxFcxEcyUcpMbikbikbikdbFdbFdbFdbFdbFdbydcedcgdcfdbybGybGyczhcuscoAbikbikbikbikbikbikckPcxOcxPcxOcxQcxRcqUcxScwAcxTczicxTckPcxOcxOcMpckPaabbikcwGcxWcxXcwJcwJcxYcwGczjbxXcvzbzNczMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikbikaabaabbikaabaabbikbikaabaabaabaabaabdoidoidohdoidoidoncEBcrjcrjcrjcrjcrjcrjcrjcrjcybcwWcwXcyccydcyecyfcyfcyfcyfcygcyhcyicxjcyjcxjcxjcykcxjcylcymcyncyocxocbkcypcyqcmScxscyscytcyucxscyvcywcyxcyycyzcyAcyBcyCcyDcyEcyEcAaczUcAdcAccAeczTcALceJcAhbGycAMcoAcoAcoAcoAcoAbikbikbikbikdcidchdckdcjdbydclbVibVicuscoAcoAcoAcoAcoAbikbikckPcxOcxOcxOcyZczaczbczcczdcAicAOcAvckPcAVcAYcAWckPbikbikcwGczkcwJczlcwJczmcwGbxXbxXcvzczMbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdoDbikacGbikczoczpczqbikczoczpczqbikczoczpczqbikbikdoidoocfRdopdoidoqcGKdojdojdojdojdojdojdojdojdojcEycwXcztcxjcykczucxjcxjcxjczvcxjcztcztcxjcxjcxjcxjczwczxcymczyctEczzcoacyqcyqczAcxsczBczCczDcxsczEctWczFczGczHczIczJczKbGyczLcdcczLbGycBacAZcBccBccBccBccBPcBNcBNcBNcBNcBNcBQcoAbikbikbikbikdcidchdckdcmcTabGyckObVicusbGybGybGycgmcoAbikbikckPcwAcwAcwAcwAczWcqUczXczYczZcCfcAbckPcCGcCYcCIckPbikbikcwGcAfcAgcDLcwJcDNcwGcEdbxXcvzbwoaabaabaabaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
-bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikczocAkczqbikczocAkczqbikczocAkczqbikaqZdoicfRcfRcfRdoidoidorczsdoidoiczsczsdoidoiczsczscwWcwXcztcAlcxjcAmcAncAocAocyjcxjcztcApcxjcxjcxjcxjcAqcArcAscAtbZNcAucAPcAwcAxcAycxsczBdlYcAAcxscABctWcsOcACcsLcADcAEcAFcAGcAHcAIcAJcAGcAKcAGcAGcAGcoAcoAcoAcoAcoAcoAcoAcoAcEhcoAbikbikbikbikdcicBTdcqcBUdbycgmcFdbVicFmcFlcFlcFnbGycoAbikbikckPcwtcwucwvcAQcARczbcAScATcAUcFrcIScAXcGscIScGtckPbikbikcwGcwGcBbcCrcBdcwGcwGbwobxXcGycyJcyJcyJbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGacGafxafxacGafxafxaabagiaabaqZbikaqZaqZdoidoCdojdojdojdoldokcrjcwOcwPcwQcwRcwScwTcwUcwVcwWcvOcwYcwZcxacxbcxccxdcxecxfcxgcvKcxfcxhcxicxjcxjcxkcvKcxlcxmcxncxocbkcxpcxqcxrcxscxtcxucxtcxvcxwcxxcxycxzcxAcsOcsOcvrcwecpMcpMcxBcpMcpMcxCcxDcxEcxEcxEcxFcxEcyUcpMbikbikbikdbFdbFdbFdbFdbFdbydcedcgdcfdbybGybGyczhcuscoAbikbikbikbikbikbikckPcxOcxPcxOcxQcxRcqUcxScwAcxTczicxTckPcxOcxOcMpckPaabbikcwGcxWcxXcwJcwJcxYcwGczjbxXcvzbzNczMbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikbikaabaabbikaabaabbikbikaabaabaabaabaabdoidoidohdoidoidoncEBcrjcrjcrjcrjcrjcrjcrjcrjcybcwWcvOcyccydcyecyfcyfcyfcyfcygcyhcyicxjcyjcxjcxjcykcxjcylcymcyncyocxocbkcypcyqcmScxscyscytcyucxscyvcywcyxcyycyzcyAcyBcyCcyDcyEcyEcAaczUcAdcAccAeczTcALceJcAhbGycAMcoAcoAcoAcoAcoAbikbikbikbikdcidchdckdcjdbydclbVibVicuscoAcoAcoAcoAcoAbikbikckPcxOcxOcxOcyZczaczbczcczdcAicAOcAvckPcAVcAYcAWckPbikbikcwGczkcwJczlcwJczmcwGbxXbxXcvzczMbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikdoDbikacGbikczoczpczqbikczoczpczqbikczoczpczqbikbikdoidoocfRdopdoidoqcGKdojdojdojdojdojdojdojdojdojcEycvOcztcxjcykczucxjcxjcxjczvcxjcztcztcxjcxjcxjcxjczwczxcymczyctEczzcoacyqcyqczAcxsczBczCczDcxsczEctWczFczGczHczIczJczKbGyczLcdcczLbGycBacAZcBccBccBccBccBPcBNcBNcBNcBNcBNcBQcoAbikbikbikbikdcidchdckdcmcTabGyckObVicusbGybGybGycgmcoAbikbikckPcwAcwAcwAcwAczWcqUczXczYczZcCfcAbckPcCGcCYcCIckPbikbikcwGcAfcAgcDLcwJcDNcwGcEdbxXcvzbwoaabaabaabaabbikbikbikbikaahbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
+bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGbikczocAkczqbikczocAkczqbikczocAkczqbikaqZdoicfRcfRcfRdoidoidorczsdoidoiczsczsdoidoiczsczscwWcvOcztcAlcxjcAmcAncAocAocyjcxjcztcApcxjcxjcxjcxjcAqcArcAscAtbZNcAucAPcAwcAxcAycxsczBdlYcAAcxscABctWcsOcACcsLcADcAEcAFcAGcAHcAIcAJcAGcAKcAGcAGcAGcoAcoAcoAcoAcoAcoAcoAcoAcEhcoAbikbikbikbikdcicBTdcqcBUdbycgmcFdbVicFmcFlcFlcFnbGycoAbikbikckPcwtcwucwvcAQcARczbcAScATcAUcFrcIScAXcGscIScGtckPbikbikcwGcwGcBbcCrcBdcwGcwGbwobxXcGycyJcyJcyJbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaahbikbikbikaqZaabczocAkczqbikczocAkczqaabczocAkczqbikaabdoidondosdoqdoibikaabbikbikbikbikbikaabbikbikczscwWcvKcBecxjcBfcBgcBhcBicBjcBicBkcBicBlcBmcxfcBncztcztczxcBocBpcBqcBrcBscBtcBucBvcBwcBxcBycBzcBAcBBcBCcBDcBDcBEcBFcBGcBHcBIcBJcBKcBLcBMcrecBOcHucHtcDPcDPcDPcDPcDPcDPcHvcoAcEhclUclUclUclUclUclUcjmbEJcjmcFfclUclUcoAcoAcoAcoAcusbGycoAbikbikckPcxOcBZcxOcCacxRcqUcCbcCccCdcCecqUcqUcCgcqUcChckPbikaabaabcwGcwGcCscwGcwGbikbwobxXcvzcyJcHycHxbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabbikczocAkczqaabczocAkczqbikczocAkczqaabbikdoidoiczsdoidoibikaabaabbikaabbikaabaabbikbikcybcCicvKcCjcCkcCkcClcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcvKcCmcCncCmcCocCmcrmcCpcCqcFbcCtcCtcCtcCucCvcBCcCwcCxcCycCzcCAcCBcBIcCCcCDcCEcCFcHzcCHcHAcCJaabcCKcCKcCKcCKcCKcHBcoAcHDcHCcIGcHHcIHctackycjocBWckuckycBXcCPcBYcCRcCQcoAcusbGycoAbikbikckPcxOcxOcxOcAQcCTczbcCUcCVcCWcCXcCZcCZcDacqUcDbckPaabaabbikbikbikcIKbikbikbikbwobxXcvzcyJbxXbxXbwobikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikacGacGafxaqZbikczocAkczqaabczocAkczqbikczocAkczqaabbikbikbikbikbikbikbikbikbikaabcDccDdcDdcDdcDdcybcDecwWcDfcDgcDhcDhcDicDjcDkcDlcDlcDlcDlcDmdotcDocDncDncDpcDpcDncDqcDrcDscDtcDtctYcDvcDwcDxcDycDzcDzcDAcDBcDCcDDcDEcDFcCAcDGcBIcDHcDIcDJcDKcILcDMcIMcDOcDPcDQcDRcDScDTcCKcHBcoDcEhclUcvscvqcIOcINcxLckxckwdcrclUcCSczVcuqczVcDUcoAcusbGycoAcoAbikckPcwAcwAcwAcwAcEkcqUcCbdlZcEmcCecqUcEncEocEocEpcEqcXYaabbikbikbikbikbikbikbikbwobxXcGybxXbxXcIPbwoaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik
diff --git a/_maps/map_files/cyberiad/z3.dmm b/_maps/map_files/cyberiad/z3.dmm
index 04b1791e6c3..0738ff80065 100644
--- a/_maps/map_files/cyberiad/z3.dmm
+++ b/_maps/map_files/cyberiad/z3.dmm
@@ -2,6 +2,8 @@
"ab" = (/obj/item/trash/cheesie,/turf/space,/area/space)
"ac" = (/obj/docking_port/stationary{dir = 8; dwidth = 10; height = 35; id = "whiteship_away"; name = "Deep Space"; width = 21},/turf/space,/area/space)
"ad" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_z3"; name = "south of telecomms"; width = 18},/turf/space,/area/space)
+"ae" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "61"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"af" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "61"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol)
"aT" = (/obj/structure/lattice,/turf/space,/area/space)
"ba" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/space)
"bb" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/space)
@@ -289,7 +291,6 @@
"hq" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/light/small{dir = 8},/obj/structure/sign/vacuum{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"hr" = (/obj/machinery/camera/xray{c_tag = "Telecomms Airlock"; network = list("Telecomms")},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"hs" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"ht" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"hu" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"hv" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"hw" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/camera{c_tag = "Telecomms Foyer"; dir = 2; network = list("Telecomms")},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
@@ -319,7 +320,6 @@
"hU" = (/turf/simulated/floor/plasteel,/area/tcommsat/entrance)
"hV" = (/obj/structure/closet/malf/suits,/turf/simulated/floor/plasteel,/area/tcommsat/entrance)
"hW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol)
-"hX" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol)
"hY" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol)
"hZ" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"ia" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
@@ -515,10 +515,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrcncncpcsctctctctctcpgPhchdhehfhghdhhhdhigPcpctctctctctcscpcncncraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoclcncncpcpcpcpcpcpcpgPgPgPgPhjhkhlgPgPgPgPcpcpcpcpcpcpcpcncncicmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoclhmhmhmhmhmhmhmhmhmhmgPgPhnhohpgPcncncncncncncncncncncncicmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrhmhqhrhshthuhvhwhxhmgPgPhyhzhAgPgPbWcicjcjcjcjcjcjcjcjcmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrhmhqhrhsaehuhvhwhxhmgPgPhyhzhAgPgPbWcicjcjcjcjcjcjcjcjcmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahBhmhChDhmhEhFhFhFhGhmgPhHhIhJhdhKgPgPcrbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahBhmhLhmhmhMhNhOhNhPhmhQhRhShThUhUhVgPcraTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdhWhXhYhmhZiaiaiaibicidieifighUhUihgPcraTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdhWafhYhmhZiaiaiaibicidieifighUhUihgPcraTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiiiichiihmijikhFiliminioiphUhUhUhUhVgPcrbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiiiichiihmhmhmhmhmhmhmgPiqiriririsgPgPcrbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitceiuceivcjcjcjcjcjclgPgPiwixiygPgPcicmbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/cyberiad/z5.dmm b/_maps/map_files/cyberiad/z5.dmm
index d84a5dfbf24..131fe41aea3 100644
--- a/_maps/map_files/cyberiad/z5.dmm
+++ b/_maps/map_files/cyberiad/z5.dmm
@@ -349,8 +349,8 @@
"gK" = (/obj/machinery/light{dir = 1},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/research_outpost/anomaly)
"gL" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/research_outpost/anomaly)
"gM" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/color/latex,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
-"gN" = (/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
-"gO" = (/obj/machinery/door/window/westleft{dir = 4; name = "Monkey Pen"; req_access_txt = "47"},/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
+"gN" = (/obj/machinery/door/window/westleft{dir = 4; name = "Monkey Pen"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
+"gO" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
"gP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"gQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/power/apc{dir = 4; name = "Outpost Hallways APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"gR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/power)
@@ -379,14 +379,15 @@
"ho" = (/obj/machinery/door/window/westleft{dir = 8; name = "Locker room"; opacity = 0; req_access_txt = "65"},/turf/simulated/floor/plasteel,/area/research_outpost/anomaly)
"hp" = (/turf/simulated/floor/plasteel,/area/research_outpost/anomaly)
"hq" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/color/latex,/obj/machinery/camera{c_tag = "Research Outpost Anomaly Lab Storage"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
-"hr" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
-"hs" = (/obj/structure/window/reinforced{dir = 4},/mob/living/carbon/human/monkey,/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
+"hr" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
+"hs" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/anomaly)
"ht" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"hu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"hv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/power)
"hw" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/light/small,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/plating,/area/research_outpost/power)
"hx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/research_outpost/power)
"hy" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/research_outpost/power)
+"hz" = (/obj/structure/rack,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"hA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
"hB" = (/obj/effect/spawner/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SE"},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
"hC" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway)
@@ -770,7 +771,6 @@
"oQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
"oR" = (/obj/machinery/conveyor{dir = 1; id = "iso3"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
"oS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
-"oT" = (/obj/structure/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"oU" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"oV" = (/turf/simulated/mineral/random/low_chance,/area/mine/explored)
"oW" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random/low_chance,/area/mine/explored)
@@ -1505,8 +1505,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagageOePeQekacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjacacacacacacaaaaaQaaaaaaaaaaaaaaaoeReSeSeUeVeWeXeYeZfafbfcfdfefffgfhfhfjfkflfmeHeCfieTfqeHfrafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagfsftfufvekacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaQaaaaaaaaaaaaaaaofwenfxfyfzfAfBfCfDaLfEfFfGfHfIfJfKfLfMcZfNfOfPfQfQfRfSfTfUfVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagfWfXfYekfZgaekekekekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaQaaaaaaaaaaaaaaaofwenfxfygbgcfBgdgeaLgfggcZghcZcZcZcZgicZgjgkeHglgmgngogpgqgraeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggsgtgugvgwgxbPdLgyekgzgAekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaQaaaaaaelaaaaaaaLfwengBfygCfAfBgEgFaLgGgHgIgJgKgLgMcZgNgOgPgQgRgSgTfQgVgpefafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggWgXgtgYgZhahbhcgyhdgAgAgzekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaahehfhfhfadhfhfhffnhihjbahkhlaLaLaLaLaLhmhnhogJhpgLhqcZhrhshthuhvhwhxgUhyhAhBhCaLhDbzaAaAaAaAaAaAaBhEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggsgtgugvgwgxbPdLgyekgzgAekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaQaaaaaaelaaaaaaaLfwengBfygCfAfBgEgFaLgGgHgIgJgKgLgMcZgOgNgPgQgRgSgTfQgVgpefafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggWgXgtgYgZhahbhcgyhdgAgAgzekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaahehfhfhfadhfhfhffnhihjbahkhlaLaLaLaLaLhmhnhogJhpgLhqcZhshrhthuhvhwhxgUhyhAhBhCaLhDbzaAaAaAaAaAaAaBhEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahFgWgXgWgugufZhGgZekfvhHekgAhIekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaahJhKhLhNhNhNhOhPhQhRhShThUhVhWhXfohZiaibicidieifigihcZiiijikileHeHimeHeHeHinioipiqirisisitisisisiubhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagiviwguixiygueQizhaiAiBiCekekekekekekbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacaaaaaaaaaaiDiEhNhNhNhNiFiGiHiIiJiKiLiMhWfpiOiPiQiRiSiTiUiViWiXiYiZiWjajbjcjdjejfjcjgjciWjhjijjjkjljmjnjojpisbxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagjqjrjsguiygAgYjtgZcrekjujvekjwgyjxjyekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacaaaaaaaaaajzjAhNhNjBhNjCjDjEjFjGjHjIjJhWjKjLjMjNjOjPjQjRjSjTjUjVjWjXjUjYjVjZjUjVkakbkckdkekfkgkhkikjkkkkklisbxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -1516,7 +1516,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceklGeQdLgYiAlLkmdLkmfudLdLmzgydLeQeQekcrmAeQdLekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafaeaeaeaeaeaeaeaeaeaeafafmBmCmDacaaaaaaaaaaaaagldlXmFmbmHmImJmcljmdmMhWkFkFkFkFkFmgmPkHmQmRmSkKmTmUmVkNmWmXmYkNmZnanbncndndnelCnfaiaAaAngnhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaceklGnieQeQiAeQlafZeQnjfulakpcreQnkfvekkmcrlLdLekbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnlaeaeaeaeaeaeaeaeaeaeaenmafnnnoafafaaaaaaaaaaaaagldmenqnrmEnrntmGljljnvhWyuyumKyukFnAnBkHnCnDnEkKnFnGnHkNnInJnKkNnLnMlCnNnOnPnOlCnnnQafagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaceklGnRgYgweknSeknTfYekhaeknTfYekgZlLekmziCcrjuekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnUaeaeaeaenVaeaeaeaeaeaenWnlnXnlafaaaaaaaaaaaaaaagldmNmLmOnZnuobnunphWodhWoeoeoeoekFnsmgkHogohoikKojokolkNomonookNopoqorlClClClCosotafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacekekekekekeknSekougyhajufvgZkogZiCgYeknTovowoxekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnmaeaeaeaeaeaeaeaeaeaeaeaeoyozoAaaaaaaaaaaaaaaagagldnwnunxnZnynununzhWoHhWaeaeaeaekFoIoJkHoKoLoMkKoNoOoPkNoQoRoSkNoToUorafoVafoWmCoXafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacekekekekekeknSekougyhajufvgZkogZiCgYeknTovowoxekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnmaeaeaeaeaeaeaeaeaeaeaeaeoyozoAaaaaaaaaaaaaaaagagldnwnunxnZnynununzhWoHhWaeaeaeaekFoIoJkHoKoLoMkKoNoOoPkNoQoRoSkNhzoUorafoVafoWmCoXafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacbjbjbjbjbjeknSekgyjuoYizdlgYgyekgZfvekoZpapapbekpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeaeaeaeaeaeaeaeaeaeaepdpepfaaaaaaaaaaaaagagagldldpgpgldldnZnZldldnYhWaeaeaeaekFkFkFkHkHkHkHkKkKkKkKkNkNkNkNkNororpjlOakakpknQafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacbjbjbjbjbjbjeknSekjudLiCgygZfviCeknSekekjwcrpaplpmpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeaeaeaeaeaeaeaeaeaeaepnpoppaaaaaaaaaaagpqprpsptpupvpwpxaeaeaeaeaeqCaeaeaeaeaepBpCpDafafafafafafafafafafafafafafpEpFnQpGafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjeknSekekekekekekekekeknSekjwcrjxcrpbpHpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaepIpJpKpLpLpLpLpLpLpMpNpOpPpPpQpRpRaeaeaeaeaeqCaeaeaeaeaepdpopWafafoVoVoVoVoVoVafafafafafpEpFnQpXaepXafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/code/__DEFINES/clothing.dm b/code/__DEFINES/clothing.dm
index 83a6ac5b20a..ec9ad2f2128 100644
--- a/code/__DEFINES/clothing.dm
+++ b/code/__DEFINES/clothing.dm
@@ -78,3 +78,5 @@
#define BLOCKHEADHAIR 4 // temporarily removes the user's hair overlay. Leaves facial hair.
#define BLOCKHAIR 32768 // temporarily removes the user's hair, facial and otherwise.
+
+#define ONESIZEFITSALL 1 // determines if something can be worn by a fatty or not.
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 915cb8816e8..e79d40f7176 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -7,10 +7,7 @@
#define NOSHIELD 32 // weapon not affected by shield
#define CONDUCT 64 // conducts electricity (metal etc.)
#define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way
-#define ON_BORDER 512 // item has priority to check when entering or leaving
-#define NODELAY 32768 // 1 second attackby delay skipped (Can be used once every 0.2s). Most objects have a 1s attackby delay, which doesn't require a flag.
-
-#define NOBLOODY 2048 // used to items if they don't want to get a blood overlay
+#define ON_BORDER 256 // item has priority to check when entering or leaving
#define GLASSESCOVERSEYES 1024
#define MASKCOVERSEYES 1024 // get rid of some of the other retardation in these flags
@@ -21,14 +18,13 @@
#define HEADBANGPROTECT 4096
#define EARBANGPROTECT 1024
-#define THICKMATERIAL 1024 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with NOSLIP)
#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc
#define OPENCONTAINER 4096 // is an open container for chemistry purposes
-#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL)
-#define ONESIZEFITSALL 8192
-#define PLASMAGUARD 16384 //Does not get contaminated by plasma.
+#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
+#define THICKMATERIAL 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with BLOCK_GAS_SMOKE_EFFECT)
+
#define NOREACT 16384 //Reagents dont' react inside this container.
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index e7fd4916c5a..5a6d0d0d595 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -157,6 +157,8 @@
for(type in view(range, dview_mob))
#define END_FOR_DVIEW dview_mob.loc = null
+#define get_turf(A) (get_step(A, 0))
+
#define MIN_SUPPLIED_LAW_NUMBER 15
#define MAX_SUPPLIED_LAW_NUMBER 50
@@ -256,3 +258,6 @@
#define TRIGGER_GUARD_ALLOW_ALL -1
#define TRIGGER_GUARD_NONE 0
#define TRIGGER_GUARD_NORMAL 1
+
+// Macro to get the current elapsed round time, rather than total world runtime
+#define ROUND_TIME (round_start_time ? (world.time - round_start_time) : 0)
diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm
index 4973de14b81..872f299479c 100644
--- a/code/__HELPERS/time.dm
+++ b/code/__HELPERS/time.dm
@@ -24,6 +24,7 @@
//Returns the world time in english
/proc/worldtime2text(time = world.time)
+ time = (round_start_time ? (time - round_start_time) : (time - world.time))
return "[round(time / 36000)+12]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]"
/proc/time_stamp()
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 5ef6646e8cc..596dcda719c 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1010,13 +1010,6 @@ proc/get_mob_with_client_list()
else if (zone == "r_foot") return "right foot"
else return zone
-
-/proc/get_turf(atom/A)
- if (!istype(A))
- return
- for(A, A && !isturf(A), A=A.loc); //semicolon is for the empty statement
- return A
-
//Finds the distance between two atoms, in pixels
//centered = 0 counts from turf edge to edge
//centered = 1 counts from turf center to turf center
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index f4e795f6c77..b0e3059ee6d 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -177,6 +177,8 @@
var/disable_lobby_music = 0 // Disables the lobby music
var/disable_cid_warn_popup = 0 //disables the annoying "You have already logged in this round, disconnect or be banned" popup, because it annoys the shit out of me when testing.
+ var/max_loadout_points = 5 // How many points can be spent on extra items in character setup
+
/datum/configuration/New()
var/list/L = subtypesof(/datum/game_mode)
for (var/T in L)
@@ -552,6 +554,9 @@
if("disable_cid_warn_popup")
config.disable_cid_warn_popup = 1
+ if("max_loadout_points")
+ config.max_loadout_points = text2num(value)
+
else
diary << "Unknown setting in configuration: '[name]'"
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 557de91356a..61ba4dced3d 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -352,9 +352,6 @@
//returns 1 if made bloody, returns 0 otherwise
/atom/proc/add_blood(mob/living/carbon/human/M as mob)
- if(flags & NOBLOODY)
- return 0
-
if(!blood_DNA || !istype(blood_DNA, /list)) //if our list of DNA doesn't exist yet (or isn't a list) initialise it.
blood_DNA = list()
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index 4917d82ed7c..035955e1de7 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -435,7 +435,7 @@ var/round_start_time = 0
end_state.count()
var/station_integrity = min(round( 100.0 * start_state.score(end_state), 0.1), 100.0)
- to_chat(world, "
[TAB]Shift Duration: [round(world.time / 36000)]:[add_zero("[world.time / 600 % 60]", 2)]:[world.time / 100 % 6][world.time / 100 % 10]")
+ to_chat(world, "
[TAB]Shift Duration: [round(ROUND_TIME / 36000)]:[add_zero("[ROUND_TIME / 600 % 60]", 2)]:[ROUND_TIME / 100 % 6][ROUND_TIME / 100 % 10]")
to_chat(world, "
[TAB]Station Integrity: [mode.station_was_nuked ? "Destroyed" : "[station_integrity]%"]")
to_chat(world, "
")
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index 4998aaeca48..843ef5d98b3 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -97,10 +97,15 @@
set category = "Borer"
set name = "Converse with Host"
set desc = "Send a silent message to your host."
+
if(!host)
to_chat(src, "You do not have a host to communicate with!")
return
+ if(stat)
+ to_chat(src, "You cannot do that in your current state.")
+ return
+
var/input = stripped_input(src, "Please enter a message to tell your host.", "Borer", "")
if(!input) return
@@ -207,6 +212,12 @@
if(prob(host.getBrainLoss()/20))
host.say("*[pick(list("blink","blink_r","choke","aflap","drool","twitch","twitch_s","gasp"))]")
+/mob/living/simple_animal/borer/handle_environment()
+ if(host)
+ return // Snuggled up, nice and warm, in someone's head
+ else
+ return ..()
+
/mob/living/simple_animal/borer/New(var/by_gamemode=0)
..()
add_language("Cortical Link")
@@ -231,14 +242,6 @@
// VERBS!
-/mob/living/simple_animal/borer/proc/borer_speak(var/message)
- if(!message)
- return
-
- for(var/mob/M in mob_list)
- if(M.mind && (istype(M, /mob/living/simple_animal/borer) || istype(M, /mob/dead/observer)))
- to_chat(M, "Cortical link, [truename]: [copytext(message, 2)]")
-
/mob/living/simple_animal/borer/verb/dominate_victim()
set category = "Borer"
set name = "Dominate Victim"
@@ -288,6 +291,10 @@
to_chat(src, "You are not inside a host body.")
return
+ if(host.stat == DEAD)
+ to_chat(src, "This host is in no condition to be controlled.")
+ return
+
if(src.stat)
to_chat(src, "You cannot do that in your current state.")
return
@@ -405,6 +412,7 @@
if(stat)
to_chat(src, "You cannot leave your host in your current state.")
+ return
if(docile)
to_chat(src, "\blue You are feeling far too docile to do that.")
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index 12f01822cde..c940e7f15dd 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -299,7 +299,7 @@
title = "Janitor"
flag = JANITOR
department_flag = SUPPORT
- total_positions = 2
+ total_positions = 1
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 4a2d7103593..d59fb82752f 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -1061,6 +1061,8 @@
to_chat(user, "You start prying out the circuit.")
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
if(do_after(user,20, target = src))
+ if(buildstage != 1)
+ return
to_chat(user, "You pry out the circuit!")
var/obj/item/weapon/airalarm_electronics/circuit = new /obj/item/weapon/airalarm_electronics()
circuit.loc = user.loc
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 7af28cc4f73..dfc4e43f4a8 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -37,6 +37,8 @@ var/time_last_changed_position = 0
/datum/job/mechanic,
/datum/job/barber,
/datum/job/chaplain,
+ /datum/job/ntnavyofficer,
+ /datum/job/ntspecops,
/datum/job/civilian
)
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 3426023f13c..cbf1df85c3d 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -110,7 +110,9 @@ FIRE ALARM
else if(istype(W, /obj/item/weapon/crowbar))
to_chat(user, "You pry out the circuit!")
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
- spawn(20)
+ if(do_after(user, 20, target = src))
+ if(buildstage != 1)
+ return
var/obj/item/weapon/firealarm_electronics/circuit = new /obj/item/weapon/firealarm_electronics()
circuit.loc = user.loc
buildstage = 0
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index a1559c4fb3a..e7a235b5db6 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -227,6 +227,9 @@
var/i = 1
for(1, i <= coeff, i++)
LR.Charge(occupant)
+ if(istype(O,/obj/item/weapon/mop/advanced))
+ if(O.reagents.get_reagent_amount("water") < 40)
+ O.reagents.add_reagent("water", 0.5 * coeff)
if(R)
if(R.module)
R.module.respawn_consumable(R)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 8a0c44b78ca..ce150adceb4 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -55,6 +55,8 @@
var/put_on_delay = DEFAULT_ITEM_PUTON_DELAY
var/breakouttime = 0
+ var/flags_size = 0 //flag, primarily used for clothing to determine if a fatty can wear something or not.
+
/* Species-specific sprites, concept stolen from Paradise//vg/.
ex:
sprite_sheets = list(
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index 751fc9c599e..d6e1034ee74 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -133,6 +133,10 @@
name = "Nanotrasen ERT Radio Encryption Key"
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
+/obj/item/device/encryptionkey/centcom
+ name = "Centcom Radio Encryption Key"
+ channels = list("Response Team" = 1, "Special Ops" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
+
/obj/item/device/encryptionkey/heads/ai_integrated //ported from bay, this goes 'inside' the AI.
name = "AI Integrated Encryption Key"
desc = "Integrated encryption key"
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 69b5db12af9..f48da86a52e 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -293,7 +293,7 @@
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
- ks2type = /obj/item/device/encryptionkey/ert
+ ks2type = /obj/item/device/encryptionkey/centcom
/obj/item/device/radio/headset/heads/ai_integrated //No need to care about icons, it should be hidden inside the AI anyway.
name = "\improper AI subspace transceiver"
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index f1eb48e06d7..5b5ef12f87c 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -5,7 +5,7 @@
anchored = 1
w_class = 4.0
canhear_range = 2
- flags = CONDUCT | NOBLOODY
+ flags = CONDUCT
var/number = 0
var/circuitry_installed = 1
var/last_tick //used to delay the powercheck
@@ -141,6 +141,8 @@
to_chat(user, "You cut out the intercoms wiring and disconnect its electronics.")
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
if(do_after(user, 10, target = src))
+ if(buildstage != 3)
+ return
new /obj/item/stack/cable_coil(get_turf(src),5)
on = 0
b_stat = 1
@@ -178,6 +180,8 @@
to_chat(user, "You begin removing the electronics...")
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 10, target = src))
+ if(buildstage != 1)
+ return
new /obj/item/weapon/intercom_electronics(get_turf(src))
to_chat(user, "The circuitboard pops out!")
buildstage = 0
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 7fad9cbbe5f..69d04cd4c29 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -16,7 +16,6 @@
var/mopcap = 5
var/mopspeed = 30
-
/obj/item/weapon/mop/New()
create_reagents(mopcap)
janitorial_equipment += src
@@ -34,7 +33,6 @@
reagents.reaction(A, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly.
reagents.remove_any(1) //reaction() doesn't use up the reagents
-
/obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity)
if(!proximity) return
@@ -80,4 +78,15 @@
force = 6
throwforce = 8
throw_range = 4
- mopspeed = 20
\ No newline at end of file
+ mopspeed = 20
+
+/obj/item/weapon/mop/advanced/cyborg
+ mopcap = 40
+
+/obj/item/weapon/mop/advanced/cyborg/New()
+ ..()
+ reagents.add_reagent("water", mopcap)
+
+/obj/item/weapon/mop/advanced/cyborg/examine(mob/user)
+ ..(user)
+ to_chat(user, "The mop's water tank has [round(reagents.get_reagent_amount("water"))] units of water left.")
\ No newline at end of file
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 1cd49eb9b50..83e6094f33e 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -41,7 +41,7 @@
else if(!anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
to_chat(user, "\blue Now securing the girder")
- if(get_turf(user, 40))
+ if(do_after(user, 40, target = src))
to_chat(user, "\blue You secured the girder!")
new/obj/structure/girder( src.loc )
qdel(src)
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index be8828a2dc9..eaa7f8298b5 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -104,8 +104,7 @@
return
if(TURF_WET_LUBE) //lube
- if(M.slip("floor", 0, 7, 4, 0, 1))
- M.take_organ_damage(2) // Was 5 -- TLE
+ M.slip("floor", 0, 5, 3, 0, 1)
if(TURF_WET_ICE) // Ice
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 3802c7c7432..cb8d685604e 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -409,7 +409,7 @@
if (ticker && ticker.current_state >= GAME_STATE_PLAYING)
var/dat = "
Round StatusRound Status
"
dat += "Current Game Mode: [ticker.mode.name]
"
- dat += "Round Duration: [round(world.time / 36000)]:[add_zero(num2text(world.time / 600 % 60), 2)]:[add_zero(num2text(world.time / 10 % 60), 2)]
"
+ dat += "Round Duration: [round(ROUND_TIME / 36000)]:[add_zero(num2text(ROUND_TIME / 600 % 60), 2)]:[add_zero(num2text(ROUND_TIME / 10 % 60), 2)]
"
dat += "Emergency shuttle
"
if(shuttle_master.emergency.mode < SHUTTLE_CALL)
dat += "Call Shuttle
"
diff --git a/code/modules/awaymissions/mission_code/spacehotel.dm b/code/modules/awaymissions/mission_code/spacehotel.dm
index b5737ddcfd4..c4820db97ec 100644
--- a/code/modules/awaymissions/mission_code/spacehotel.dm
+++ b/code/modules/awaymissions/mission_code/spacehotel.dm
@@ -230,19 +230,15 @@
// to check a person into a room; no financial stuff; returns the keycard
/obj/effect/hotel_controller/proc/checkin(roomid, mob/living/carbon/occupant, obj/item/weapon/card/id/id)
if(!istype(occupant))
- world << "no occupant"
return null
var/obj/machinery/door/unpowered/hotel_door/D = room_doors["[roomid]"]
if(!D || D.occupant || (occupant in guests))
- world << "room occupied"
return null
D.account = get_card_account(id, occupant)
if(!D.account)
- world << "no account"
return null
if(!D.account.charge(100, transaction_purpose = "10 minutes", dest_name = name))
- world << "xaction failed"
return null
D.occupant = occupant
diff --git a/code/modules/client/preference/loadout/loadout_uniform.dm b/code/modules/client/preference/loadout/loadout_uniform.dm
index d5916b8530c..826cc7d5838 100644
--- a/code/modules/client/preference/loadout/loadout_uniform.dm
+++ b/code/modules/client/preference/loadout/loadout_uniform.dm
@@ -5,9 +5,9 @@
sort_category = "Uniforms and Casual Dress"
/datum/gear/uniform/skirt
- display_name = "skirt"
+ subtype_path = /datum/gear/uniform/skirt
-/datum/gear/uniform/skirt
+/datum/gear/uniform/skirt/blue
display_name = "plaid skirt, blue"
path = /obj/item/clothing/under/dress/plaid_blue
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index a8ab1a2beaa..899f29ed2b5 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -63,7 +63,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
#define MAX_SAVE_SLOTS 20 // Save slots for regular players
#define MAX_SAVE_SLOTS_MEMBER 20 // Save slots for BYOND members
-#define MAX_GEAR_COST 5
+#define MAX_GEAR_COST config.max_loadout_points
#define TAB_CHAR 0
#define TAB_GAME 1
@@ -435,9 +435,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
var/fcolor = "#3366CC"
if(total_cost < MAX_GEAR_COST)
fcolor = "#E67300"
- dat += ""
- dat += "| [total_cost]/[MAX_GEAR_COST] loadout points spent. \[Clear Loadout\] |
"
- dat += ""
+ dat += ""
+ dat += "| [total_cost]/[MAX_GEAR_COST] loadout points spent. \[Clear Loadout\] | "
+ dat += "| "
var/firstcat = 1
for(var/category in loadout_categories)
@@ -452,22 +452,22 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += " | "
var/datum/loadout_category/LC = loadout_categories[gear_tab]
- dat += "
| "
- dat += "| [LC.category] | "
- dat += "
| "
+ dat += "
| "
+ dat += "| [LC.category] | "
+ dat += "
| "
for(var/gear_name in LC.gear)
var/datum/gear/G = LC.gear[gear_name]
var/ticked = (G.display_name in gear)
dat += "| [G.display_name] | "
- dat += "[G.cost] | "
+ dat += "[G.cost] | "
if(G.allowed_roles)
- dat += " | Restrictions: "
+ dat += "Restrictions: "
for(var/role in G.allowed_roles)
dat += role + " "
- dat += " | "
- dat += "[G.description] | "
+ dat += ""
+ dat += "[G.description] | "
if(ticked)
- . += "| "
+ . += " | | "
for(var/datum/gear_tweak/tweak in G.gear_tweaks)
. += " [tweak.get_contents(get_tweak_metadata(G, tweak))]"
. += " | "
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index f37bfc4a2eb..1c7deb94970 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -102,7 +102,8 @@
icon_state = "santa"
item_state = "santa"
slowdown = 0
- flags = ONESIZEFITSALL | STOPSPRESSUREDMAGE
+ flags = STOPSPRESSUREDMAGE
+ flags_size = ONESIZEFITSALL
allowed = list(/obj/item) //for stuffing exta special presents
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index 2fe6ea491e8..b5498726203 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -11,7 +11,7 @@
flags_inv = HIDEGLOVES|HIDESHOES
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
species_restricted = list("Plasmaman")
- flags = STOPSPRESSUREDMAGE | PLASMAGUARD
+ flags = STOPSPRESSUREDMAGE
icon_state = "plasmaman_suit"
item_state = "plasmaman_suit"
@@ -38,7 +38,7 @@
/obj/item/clothing/head/helmet/space/eva/plasmaman
name = "plasmaman helmet"
desc = "A special containment helmet designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
- flags = STOPSPRESSUREDMAGE | PLASMAGUARD
+ flags = STOPSPRESSUREDMAGE
species_restricted = list("Plasmaman")
icon_state = "plasmaman_helmet0"
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 7483e08ff72..ea811f68be6 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -19,7 +19,7 @@
icon_state = "armor"
item_state = "armor"
blood_overlay_type = "armor"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/vest/jacket
@@ -35,7 +35,7 @@
icon_state = "armor-combat"
item_state = "bulletproof"
blood_overlay_type = "armor"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/suit/armor/vest/security
name = "security armor"
@@ -217,7 +217,7 @@
icon_state = "detective-armor"
item_state = "armor"
blood_overlay_type = "armor"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index a5a935ebeaf..06fbf32b056 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -16,7 +16,8 @@
w_class = 4//bulky item
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
- flags = ONESIZEFITSALL | THICKMATERIAL
+ flags = THICKMATERIAL
+ flags_size = ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 1
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen)
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index e3a1a1e1a2b..1288d02cbf4 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -52,7 +52,7 @@
item_state = "bio_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/emergency_oxygen)
species_fit = list("Vox")
sprite_sheets = list(
@@ -136,7 +136,7 @@
armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -173,7 +173,7 @@
armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index df68242d405..a88fdd6f970 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -294,7 +294,7 @@
item_state = "straight_jacket"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
strip_delay = 60
/obj/item/clothing/suit/ianshirt
@@ -437,7 +437,7 @@
item_state = "xenos_helm"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
//swimsuit
/obj/item/clothing/under/swimsuit/
@@ -480,7 +480,7 @@
w_class = 4//bulky item
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20)
@@ -525,7 +525,7 @@
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
strip_delay = 60
put_on_delay = 40
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0)
//End of inheritance from Security armour.
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index e0386585f26..2b8a1643aba 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -16,7 +16,7 @@
icon_state = "black"
item_state = "bl_suit"
item_color = "black"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/blackf
name = "feminine black jumpsuit"
@@ -30,17 +30,18 @@
icon_state = "blue"
item_state = "b_suit"
item_color = "blue"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/blue/dodgeball
- flags = ONESIZEFITSALL | NODROP
+ flags = NODROP
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/green
name = "green jumpsuit"
icon_state = "green"
item_state = "g_suit"
item_color = "green"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/grey
name = "grey jumpsuit"
@@ -48,10 +49,11 @@
icon_state = "grey"
item_state = "gy_suit"
item_color = "grey"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/grey/greytide
- flags = ONESIZEFITSALL | NODROP
+ flags = NODROP
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/orange
name = "orange jumpsuit"
@@ -59,7 +61,7 @@
icon_state = "orange"
item_state = "o_suit"
item_color = "orange"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/orange/prison
name = "orange jumpsuit"
@@ -69,7 +71,7 @@
item_color = "orange"
has_sensor = 2
sensor_mode = 3
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/pink
name = "pink jumpsuit"
@@ -77,31 +79,32 @@
icon_state = "pink"
item_state = "p_suit"
item_color = "pink"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/red
name = "red jumpsuit"
icon_state = "red"
item_state = "r_suit"
item_color = "red"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/red/dodgeball
- flags = ONESIZEFITSALL | NODROP
+ flags = NODROP
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/white
name = "white jumpsuit"
icon_state = "white"
item_state = "w_suit"
item_color = "white"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/yellow
name = "yellow jumpsuit"
icon_state = "yellow"
item_state = "y_suit"
item_color = "yellow"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/psyche
name = "psychedelic jumpsuit"
@@ -122,7 +125,7 @@
name = "aqua jumpsuit"
icon_state = "aqua"
item_color = "aqua"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/purple
name = "purple jumpsuit"
@@ -149,7 +152,7 @@
name = "light brown jumpsuit"
icon_state = "lightbrown"
item_color = "lightbrown"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/brown
name = "brown jumpsuit"
@@ -165,7 +168,7 @@
name = "dark blue jumpsuit"
icon_state = "darkblue"
item_color = "darkblue"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/lightred
name = "light red jumpsuit"
@@ -176,7 +179,7 @@
name = "dark red jumpsuit"
icon_state = "darkred"
item_color = "darkred"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/red/jersey
name = "red team jersey"
@@ -184,7 +187,7 @@
icon_state = "redjersey"
item_state = "r_suit"
item_color = "redjersey"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/color/blue/jersey
name = "blue team jersey"
@@ -192,4 +195,4 @@
icon_state = "bluejersey"
item_state = "b_suit"
item_color = "bluejersey"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 0be5fe8eef5..5a7017b353a 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -6,7 +6,7 @@
icon_state = "ba_suit"
item_state = "ba_suit"
item_color = "ba_suit"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define.
desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
@@ -14,7 +14,7 @@
icon_state = "captain"
item_state = "caparmor"
item_color = "captain"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/cargo
name = "quartermaster's jumpsuit"
@@ -22,7 +22,7 @@
icon_state = "qm"
item_state = "lb_suit"
item_color = "qm"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/cargo/skirt
name = "quartermaster's jumpskirt"
@@ -30,7 +30,7 @@
icon_state = "qmf"
item_color = "qmf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/cargotech
name = "cargo technician's jumpsuit"
@@ -38,14 +38,14 @@
icon_state = "cargotech"
item_state = "lb_suit"
item_color = "cargo"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/cargotech/skirt
name = "cargo technician's jumpskirt"
desc = "Skirrrrrts! They're comfy and easy to wear!"
icon_state = "cargof"
item_color = "cargof"
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/chaplain
desc = "It's a black jumpsuit, often worn by religious folk."
@@ -53,14 +53,14 @@
icon_state = "chaplain"
item_state = "bl_suit"
item_color = "chapblack"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/chef
desc = "It's an apron which is given only to the most hardcore chefs in space."
name = "chef's uniform"
icon_state = "chef"
item_color = "chef"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/clown
name = "clown suit"
@@ -68,7 +68,7 @@
icon_state = "clown"
item_state = "clown"
item_color = "clown"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/head_of_personnel
@@ -77,7 +77,7 @@
icon_state = "hop"
item_state = "b_suit"
item_color = "hop"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/head_of_personnel_whimsy
desc = "A blue jacket and red tie, with matching red cuffs! Snazzy. Wearing this makes you feel more important than your job title does."
@@ -94,7 +94,7 @@
item_state = "g_suit"
item_color = "hydroponics"
permeability_coefficient = 0.50
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/internalaffairs
desc = "The plain, professional attire of an Internal Affairs Agent. The collar is immaculately starched."
@@ -102,7 +102,7 @@
icon_state = "internalaffairs"
item_state = "internalaffairs"
item_color = "internalaffairs"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/ntrep
desc = "A well-ironed dress shirt and matching set of black pants."
@@ -110,7 +110,7 @@
icon_state = "internalaffairs"
item_state = "internalaffairs"
item_color = "internalaffairs"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/janitor
desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
@@ -118,13 +118,13 @@
icon_state = "janitor"
item_color = "janitor"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/lawyer
desc = "Slick threads."
name = "Lawyer suit"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/lawyer/black
icon_state = "lawyer_black"
@@ -173,7 +173,7 @@
icon_state = "red_suit"
item_state = "red_suit"
item_color = "red_suit"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/mime
name = "mime's outfit"
@@ -181,7 +181,7 @@
icon_state = "mime"
item_state = "mime"
item_color = "mime"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/miner
@@ -190,7 +190,7 @@
icon_state = "miner"
item_state = "miner"
item_color = "miner"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/barber
desc = "It's a barber's uniform."
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index 15c314affa1..9b604da7277 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -6,14 +6,14 @@
item_state = "g_suit"
item_color = "chief"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/chief_engineer/skirt
desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief engineer\". It has minor radiation shielding."
name = "chief engineer's jumpskirt"
icon_state = "chieff"
item_color = "chieff"
- flags = null
+ flags_size = null
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/rank/atmospheric_technician
@@ -22,14 +22,14 @@
icon_state = "atmos"
item_state = "atmos_suit"
item_color = "atmos"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/atmospheric_technician/skirt
desc = "It's a jumpskirt worn by atmospheric technicians."
name = "atmospheric technician's jumpskirt"
icon_state = "atmosf"
item_color = "atmosf"
- flags = null
+ flags_size = null
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/rank/engineer
@@ -39,7 +39,7 @@
item_state = "engi_suit"
item_color = "engine"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/engineer/skirt
@@ -47,7 +47,7 @@
name = "engineer's jumpskirt"
icon_state = "enginef"
item_color = "enginef"
- flags = null
+ flags_size = null
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/rank/roboticist
@@ -56,14 +56,14 @@
icon_state = "robotics"
item_state = "robotics"
item_color = "robotics"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/roboticist/skirt
desc = "It's a slimming black jumpskirt with reinforced seams; great for industrial work."
name = "roboticist's jumpskirt"
icon_state = "roboticsf"
item_color = "roboticsf"
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/mechanic
desc = "It's a pair of overalls worn by mechanics."
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index 608d5de363e..a4f4f3c8b9f 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -8,7 +8,7 @@
item_state = "g_suit"
item_color = "director"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/scientist
desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist."
@@ -18,14 +18,14 @@
item_color = "toxinswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/scientist/skirt
name = "scientist's jumpskirt"
icon_state = "sciencewhitef"
item_color = "sciencewhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/chemist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
@@ -35,14 +35,14 @@
item_color = "chemistrywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/chemist/skirt
name = "chemist's jumpskirt"
icon_state = "chemistrywhitef"
item_color = "chemistrywhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/*
* Medical
@@ -55,7 +55,7 @@
item_color = "cmo"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/chief_medical_officer/skirt
desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
@@ -63,7 +63,7 @@
icon_state = "cmof"
item_color = "cmof"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/geneticist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
@@ -73,14 +73,14 @@
item_color = "geneticswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/geneticist/skirt
name = "geneticist's jumpskirt"
icon_state = "geneticswhitef"
item_color = "geneticswhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/virologist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
@@ -90,14 +90,14 @@
item_color = "virologywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/virologist/skirt
name = "virologist's jumpskirt"
icon_state = "virologywhitef"
item_color = "virologywhitef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/nursesuit
desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
@@ -107,7 +107,7 @@
item_color = "nursesuit"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/nurse
desc = "A dress commonly worn by the nursing staff in the medical department."
@@ -117,7 +117,7 @@
item_color = "nurse"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/orderly
desc = "A white suit to be worn by orderly people who love orderly things."
@@ -127,7 +127,7 @@
item_color = "orderly"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
@@ -137,42 +137,42 @@
item_color = "medical"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/skirt
name = "medical doctor's jumpskirt"
icon_state = "medicalf"
item_color = "medicalf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/medical/blue
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
icon_state = "scrubsblue"
item_color = "scrubsblue"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/green
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen"
item_color = "scrubsgreen"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/purple
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple"
item_color = "scrubspurple"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/mortician
name = "coroner's scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is as dark as an emo's poetry."
icon_state = "scrubsblack"
item_color = "scrubsblack"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
//paramedic
/obj/item/clothing/under/rank/medical/paramedic
@@ -183,7 +183,7 @@
item_color = "paramedic"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/psych
desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist."
@@ -191,7 +191,7 @@
icon_state = "psych"
item_state = "w_suit"
item_color = "psych"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/psych/turtleneck
desc = "A turqouise turtleneck and a pair of dark blue slacks, belonging to a psychologist."
@@ -199,7 +199,7 @@
icon_state = "psychturtle"
item_state = "b_suit"
item_color = "psychturtle"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/*
@@ -213,7 +213,7 @@
item_color = "genetics_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/chemist_new
desc = "It's made of a special fiber which provides minor protection against biohazards."
@@ -223,7 +223,7 @@
item_color = "chemist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/scientist_new
desc = "Made of a special fiber that gives special protection against biohazards and small explosions."
@@ -233,7 +233,7 @@
item_color = "scientist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/virologist_new
desc = "Made of a special fiber that gives increased protection against biohazards."
@@ -243,4 +243,4 @@
item_color = "virologist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index e07419a3871..71eb07c89eb 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -16,7 +16,7 @@
item_state = "r_suit"
item_color = "warden"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
strip_delay = 50
/obj/item/clothing/under/rank/warden/skirt
@@ -25,7 +25,7 @@
icon_state = "wardenf"
item_state = "r_suit"
item_color = "wardenf"
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/security
name = "security officer's jumpsuit"
@@ -34,7 +34,7 @@
item_state = "r_suit"
item_color = "secred"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
strip_delay = 50
/obj/item/clothing/under/rank/security/skirt
@@ -43,7 +43,7 @@
icon_state = "secredf"
item_state = "r_suit"
item_color = "secredf"
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/dispatch
name = "dispatcher's uniform"
@@ -52,7 +52,7 @@
item_state = "dispatch"
item_color = "dispatch"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/security2
name = "security officer's uniform"
@@ -61,7 +61,8 @@
item_state = "r_suit"
item_color = "redshirt2"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
+
/obj/item/clothing/under/rank/security/corp
icon_state = "sec_corporate"
item_state = "sec_corporate"
@@ -82,7 +83,7 @@
item_state = "det"
item_color = "detective"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
strip_delay = 50
species_fit = list("Vox")
sprite_sheets = list(
@@ -99,7 +100,7 @@
item_state = "r_suit"
item_color = "hosred"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
strip_delay = 60
/obj/item/clothing/under/rank/head_of_security/skirt
@@ -108,7 +109,7 @@
icon_state = "hosredf"
item_state = "r_suit"
item_color = "hosredf"
- flags = null
+ flags_size = null
/obj/item/clothing/under/rank/head_of_security/corp
icon_state = "hos_corporate"
@@ -122,7 +123,7 @@
icon_state = "jensen"
item_state = "jensen"
item_color = "jensen"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
//Paradise Station
@@ -179,4 +180,4 @@
item_color = "brig_phys"
permeability_coefficient = 0.50
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
- flags = ONESIZEFITSALL
\ No newline at end of file
+ flags_size = ONESIZEFITSALL
\ No newline at end of file
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 54b6384fe31..769e388f546 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -88,7 +88,7 @@
item_state = "g_suit"
item_color = "officer"
displays_id = 0
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/centcom/captain
desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain\" and bears \"N.C.V. Fearless CV-286\" on the left shounder."
@@ -105,7 +105,7 @@
item_state = "g_suit"
item_color = "officer"
displays_id = 0
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/centcom/representative
desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Ensign\" and bears \"N.S.S. Cyberiad\" on the left shounder."
@@ -114,7 +114,7 @@
item_state = "g_suit"
item_color = "officer"
displays_id = 0
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/rank/centcom/diplomatic
desc = "A very gaudy and official looking uniform of the Nanotrasen Diplomatic Corps."
@@ -231,7 +231,7 @@
icon_state = "red_suit"
item_state = "r_suit"
item_color = "red_suit"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
/obj/item/clothing/under/suit_jacket/navy
name = "navy suit"
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index 8beff8f41f3..e39691d857f 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -86,4 +86,4 @@
desc = "For those brave enough to weather the breeze."
icon_state = "chaps"
item_color = "chaps"
- flags = ONESIZEFITSALL
\ No newline at end of file
+ flags_size = ONESIZEFITSALL
\ No newline at end of file
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 9c2aa30baf5..fd4864b7900 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -418,7 +418,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "chronx_robe"
item_state = "chronx_robe"
- flags = ONESIZEFITSALL
+ flags_size = ONESIZEFITSALL
action_button_name = "Transform Robes"
adjust_flavour = "untransform"
ignore_suitadjust = 0
diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm
index f37faf32750..fa2863e23b7 100644
--- a/code/modules/mob/living/carbon/brain/posibrain.dm
+++ b/code/modules/mob/living/carbon/brain/posibrain.dm
@@ -144,11 +144,12 @@
/obj/item/device/mmi/posibrain/examine(mob/user)
+ to_chat(user, "*---------*")
if(!..(user))
+ to_chat(user, "*---------*")
return
- var/msg = "*---------*\nThis is [bicon(src)] \a [src]!\n[desc]\n"
- msg += ""
+ var/msg = ""
if(src.brainmob && src.brainmob.key)
switch(src.brainmob.stat)
@@ -158,7 +159,7 @@
if(DEAD) msg += "It appears to be completely inactive.\n"
else
msg += "It appears to be completely inactive.\n"
- msg += "*---------*"
+ msg += "*---------*"
to_chat(user, msg)
/obj/item/device/mmi/posibrain/emp_act(severity)
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index 5ac5d796897..8bcccb69eb5 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -111,7 +111,7 @@
if(istype(I,/mob/living/simple_animal/borer))
B = I
if(B)
- if(!B.ckey && ckey && B.controlling)
+ if(B.controlling && B.host == src)
B.detatch()
verbs -= /mob/living/carbon/proc/release_control
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index bde2c900636..8b7ed3a62df 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -423,7 +423,7 @@
if(istype(I, /obj/item/clothing/under) || istype(I, /obj/item/clothing/suit))
if(FAT in mutations)
//testing("[M] TOO FAT TO WEAR [src]!")
- if(!(I.flags & ONESIZEFITSALL))
+ if(!(I.flags_size & ONESIZEFITSALL))
if(!disable_warning)
to_chat(src, "You're too fat to wear the [I].")
return 0
diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm
index df608980e47..d5a0125f052 100644
--- a/code/modules/mob/living/carbon/human/species/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/golem.dm
@@ -75,7 +75,8 @@
item_state = "golem"
body_parts_covered = HEAD|UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES
- flags = ONESIZEFITSALL | ABSTRACT | NODROP | THICKMATERIAL
+ flags = ABSTRACT | NODROP | THICKMATERIAL
+ flags_size = ONESIZEFITSALL
armor = list(melee = 55, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/shoes/golem
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index f0c050a93b0..b1c53a86e7c 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -600,7 +600,7 @@ var/global/list/damage_icon_parts = list()
var/image/standing = image("icon_state" = "[t_color]_s")
if(FAT in mutations)
- if(w_uniform.flags&ONESIZEFITSALL)
+ if(w_uniform.flags_size & ONESIZEFITSALL)
standing.icon = 'icons/mob/uniform_fat.dmi'
else
to_chat(src, "\red You burst out of \the [w_uniform]!")
@@ -911,7 +911,7 @@ var/global/list/damage_icon_parts = list()
else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.name])
standing = image("icon" = wear_suit.sprite_sheets[species.name], "icon_state" = "[wear_suit.icon_state]")
else if(FAT in mutations)
- if(wear_suit.flags&ONESIZEFITSALL)
+ if(wear_suit.flags_size & ONESIZEFITSALL)
standing = image("icon" = 'icons/mob/suit_fat.dmi', "icon_state" = "[wear_suit.icon_state]")
else
to_chat(src, "\red You burst out of \the [wear_suit]!")
diff --git a/code/modules/mob/living/carbon/slime/examine.dm b/code/modules/mob/living/carbon/slime/examine.dm
index 7d2e2d5e62c..7deaa397cc4 100644
--- a/code/modules/mob/living/carbon/slime/examine.dm
+++ b/code/modules/mob/living/carbon/slime/examine.dm
@@ -1,6 +1,7 @@
/mob/living/carbon/slime/examine(mob/user)
+ to_chat(user, "*---------*")
..(user)
- var/msg = ""
+ var/msg = ""
if (src.stat == DEAD)
msg += "It is limp and unresponsive.\n"
else
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index c6d0d8e3ee0..86214e52136 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -28,7 +28,8 @@ var/list/department_radio_keys = list(
":T" = "Syndicate", "#T" = "Syndicate", ".T" = "Syndicate",
":U" = "Supply", "#U" = "Supply", ".U" = "Supply",
":Z" = "Service", "#Z" = "Service", ".Z" = "Service",
- ":P" = "AI Private", "#P" = "AI Private", ".P" = "AI Private"
+ ":P" = "AI Private", "#P" = "AI Private", ".P" = "AI Private",
+ ":-" = "Special Ops", "#-" = "Special Ops", ".-" = "Special Ops"
)
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index d65e6e0d7d8..09457786e0d 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -1,8 +1,10 @@
/mob/living/silicon/ai/examine(mob/user)
+ to_chat(user, "*---------*")
if(!..(user))
+ to_chat(user, "*---------*")
return
- var/msg = ""
+ var/msg = ""
if (src.stat == DEAD)
msg += "It appears to be powered-down.\n"
else
diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm
deleted file mode 100644
index 814efb1899b..00000000000
--- a/code/modules/mob/living/silicon/pai/examine.dm
+++ /dev/null
@@ -1,25 +0,0 @@
-/mob/living/silicon/pai/examine(mob/user) //removed as it was pointless...moved to the pai-card instead.
- /*..(user) //This is totally pointless because this mob is contained inside a card!
-
- var/msg = ""
- if (src.stat == DEAD)
- msg += "It appears to be offline.\n"
- else
- msg += ""
- if (src.getBruteLoss())
- if (src.getBruteLoss() < 30)
- msg += "It looks slightly dented.\n"
- else
- msg += "Its casing appears cracked and broken!\n"
- if (src.getFireLoss())
- if (src.getFireLoss() < 30)
- msg += "It looks slightly charred!\n"
- else
- msg += "Its casing is melted and heat-warped!\n"
- if (src.stat == UNCONSCIOUS)
- msg += "It doesn't seem to be responding and its text-output is lagging.\n"
- msg += ""
- msg += "*---------*"
-
- to_chat(user, msg)
- */
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 635efadcaba..23fb68e3854 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -521,23 +521,24 @@
density = 0 //this is reset every canmove update otherwise
/mob/living/silicon/pai/examine(mob/user)
+ to_chat(user, "*---------*")
..(user)
- var/msg = ""
+ var/msg = ""
switch(src.stat)
if(CONSCIOUS)
if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk
if(UNCONSCIOUS) msg += "\nIt doesn't seem to be responding."
if(DEAD) msg += "\nIt looks completely unsalvageable."
- msg += "\n*---------*"
- if(print_flavor_text()) msg += "\n[print_flavor_text()]\n"
+ if(print_flavor_text()) msg += "\n[print_flavor_text()]"
if (pose)
if( findtext(pose,".",lentext(pose)) == 0 && findtext(pose,"!",lentext(pose)) == 0 && findtext(pose,"?",lentext(pose)) == 0 )
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\nIt is [pose]"
+ msg += "\n*---------*"
to_chat(user, msg)
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index 546bdd2eb6c..47eabe40ffb 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -1,7 +1,8 @@
/mob/living/silicon/robot/examine(mob/user)
+ to_chat(user, "*---------*")
..(user)
- var/msg = ""
+ var/msg = ""
var/obj/act_module = get_active_hand()
if(act_module)
msg += "It is holding [bicon(act_module)] \a [act_module].\n"
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 7fb1ba0a8aa..9944bf39b72 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -230,7 +230,7 @@
src.modules += new /obj/item/device/flash/cyborg(src)
src.modules += new /obj/item/weapon/soap/nanotrasen(src)
src.modules += new /obj/item/weapon/storage/bag/trash/cyborg(src)
- src.modules += new /obj/item/weapon/mop(src)
+ src.modules += new /obj/item/weapon/mop/advanced/cyborg(src)
src.modules += new /obj/item/device/lightreplacer(src)
src.modules += new /obj/item/weapon/holosign_creator(src)
src.emag = new /obj/item/weapon/reagent_containers/spray(src)
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index c894b014a87..2a82a6728b0 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -40,9 +40,10 @@
return
/mob/living/simple_animal/construct/examine(mob/user)
+ to_chat(user, "*---------*")
..(user)
- var/msg = ""
+ var/msg = ""
if (src.health < src.maxHealth)
msg += ""
if (src.health >= src.maxHealth/2)
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 346a04e7851..06fb36b5787 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -194,7 +194,9 @@
if(.)
amount_grown += rand(1,2)
if(amount_grown >= 100)
- new /mob/living/simple_animal/chicken(src.loc)
+ var/mob/living/simple_animal/chicken/C = new /mob/living/simple_animal/chicken(loc)
+ if(mind)
+ mind.transfer_to(C)
qdel(src)
var/const/MAX_CHICKENS = 50
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 9eee62d810a..93e72a96707 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -446,7 +446,6 @@
else
visible_message("[O] bounces harmlessly off of [src].",\
"[O] bounces harmlessly off of [src].")
- playsound(loc, O.hitsound, 50, 1, -1)
else
user.visible_message("[user] gently taps [src] with [O].",\
"This weapon is ineffective, it does no damage.")
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 2f85c4d02bd..ab5a5840a27 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -402,7 +402,7 @@ var/list/slot_equipment_priority = list( \
if(slot_w_uniform)
if( !(slot_flags & SLOT_ICLOTHING) )
return 0
- if((FAT in H.mutations) && !(flags & ONESIZEFITSALL))
+ if((FAT in H.mutations) && !(flags_size & ONESIZEFITSALL))
return 0
if(H.w_uniform)
if(!(H.w_uniform.flags & NODROP))
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 7544ecc7b50..a4eb76f99a4 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -44,7 +44,7 @@
/obj/item/weapon/gun/projectile/automatic/ui_action_click()
burst_select()
-/obj/item/weapon/gun/projectile/automatic/verb/burst_select()
+/obj/item/weapon/gun/projectile/automatic/proc/burst_select()
var/mob/living/carbon/human/user = usr
select = !select
if(!select)
diff --git a/code/modules/reagents/newchem/pyro.dm b/code/modules/reagents/newchem/pyro.dm
index 655b8e996eb..27e34b0c009 100644
--- a/code/modules/reagents/newchem/pyro.dm
+++ b/code/modules/reagents/newchem/pyro.dm
@@ -535,6 +535,7 @@ datum/reagent/pyrosium/on_tick()
required_reagents = list("chlorine" = 1, "oxygen" = 1, "nitrogen" = 1, "ammonia" = 1, "sodium" = 1, "silver" = 1)
result_amount = 1
mix_message = "The substance violently detonates!"
+ mix_sound = 'sound/effects/bang.ogg'
/datum/chemical_reaction/azide/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
@@ -603,6 +604,7 @@ datum/reagent/firefighting_foam/reaction_obj(var/obj/O, var/volume)
required_reagents = list("firefighting_foam" = 1, "clf3" = 1)
result_amount = 1
mix_message = "The substance violently detonates!"
+ mix_sound = 'sound/effects/bang.ogg'
/datum/chemical_reaction/clf3_firefighting/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 2fdb61a706f..fa1bbb9d9d0 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -46,11 +46,11 @@ won't update every console in existence) but it's more of a hassle to do. Also,
var/obj/machinery/r_n_d/circuit_imprinter/linked_imprinter = null //Linked Circuit Imprinter
var/screen = 1.0 //Which screen is currently showing.
-
+
var/menu = 0 // Current menu.
var/submenu = 0
var/wait_message = 0
-
+
var/id = 0 //ID of the computer (for server restrictions).
var/sync = 1 //If sync = 0, it doesn't show up on Server Control Console
@@ -221,7 +221,7 @@ proc/CallMaterialName(ID)
if(href_list["category"] in D.category)
matching_designs.Add(D)
submenu = 1
-
+
selected_category = "Viewing Category [href_list["category"]]"
else if(href_list["updt_tech"]) //Update the research holder with information from the technology disk.
@@ -466,9 +466,9 @@ proc/CallMaterialName(ID)
var/P = being_built.build_path //lets save these values before the spawn() just in case. Nobody likes runtimes.
var/O = being_built.locked
-
+
coeff *= being_built.lathe_time_factor
-
+
spawn(32*amount/coeff)
if(g2g) //And if we only fail the material requirements, we still spend time and power
for(var/i = 0, iMain Menu:
- {{:helper.link('Current Research Levels', 'folder-open', {'menu': 1, 'submenu': 0})}}
{{:helper.link('Disk Operations', 'save', {'menu': 2, 'submenu': 0}, data.disk_type ? null : 'disabled')}}
{{:helper.link('Destructive Analyzer Menu', 'chain-broken', {'menu': 3, 'submenu': 0}, data.linked_destroy ? null : 'disabled')}}
{{:helper.link('Protolathe Menu', 'print', {'menu': 4, 'submenu': 0}, data.linked_lathe ? null : 'disabled')}}
{{:helper.link('Circuit Imprinter Menu', 'print', {'menu': 5, 'submenu': 0}, data.linked_imprinter ? null : 'disabled')}}
{{:helper.link('Settings', 'gear', {'menu': 6, 'submenu': 0})}}
+
+
+ Current Research Levels:
+ {{for data.tech_levels}}
+ {{:value.name}}: {{:value.level}}
+ {{/for}}
{{else data.menu == 1}}
Current Research Levels:
{{for data.tech_levels}}
diff --git a/paradise.dme b/paradise.dme
index 98223a2c155..3f06e7152d2 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1554,7 +1554,6 @@
#include "code\modules\mob\living\silicon\decoy\life.dm"
#include "code\modules\mob\living\silicon\pai\death.dm"
#include "code\modules\mob\living\silicon\pai\emote.dm"
-#include "code\modules\mob\living\silicon\pai\examine.dm"
#include "code\modules\mob\living\silicon\pai\life.dm"
#include "code\modules\mob\living\silicon\pai\pai.dm"
#include "code\modules\mob\living\silicon\pai\personality.dm"
|