diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 5f3a9b70ab5..51d550d9d9a 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -37,18 +37,18 @@ "aaK" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aaL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaM" = (/obj/machinery/washing_machine,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) -"aaN" = (/obj/structure/closet/secure_closet/injection,/turf/simulated/floor/plasteel,/area/security/transfer) -"aaO" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/item/weapon/wrench,/obj/item/clothing/head/helmet,/obj/item/device/assembly/signaler,/turf/simulated/floor/plasteel,/area/security/transfer) -"aaP" = (/obj/structure/table,/obj/item/device/electropack,/turf/simulated/floor/plasteel,/area/security/transfer) +"aaN" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/wall,/area/security/transfer) +"aaO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area/security/transfer) +"aaP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHEAST)"; icon_state = "warndark"; dir = 5},/area/security/transfer) "aaQ" = (/obj/machinery/computer/libraryconsole/bookmanagement{pixel_y = 0},/obj/structure/table,/obj/machinery/newscaster{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aaR" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/dice,/turf/simulated/floor/plasteel,/area/security/prison) "aaS" = (/obj/structure/table,/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/prison) "aaT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaU" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "aaV" = (/obj/structure/lattice,/obj/structure/sign/securearea{pixel_y = -32},/turf/space,/area/space) -"aaW" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/security/transfer) -"aaX" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel,/area/security/transfer) -"aaY" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel,/area/security/transfer) +"aaW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/security/transfer) +"aaX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/security/prison) +"aaY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHWEST)"; icon_state = "warndark"; dir = 9},/area/security/transfer) "aaZ" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "aba" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel,/area/security/prison) "abb" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/security/prison) @@ -56,8 +56,8 @@ "abd" = (/obj/machinery/washing_machine,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "barber"},/area/security/prison) "abe" = (/obj/structure/grille,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space) "abf" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"abg" = (/turf/simulated/floor/plasteel,/area/security/transfer) -"abh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/security/transfer) +"abg" = (/obj/machinery/door/poddoor{id = "executionspaceblast"; name = "blast door"},/turf/simulated/floor/plating,/area/security/transfer) +"abh" = (/obj/machinery/sparker{dir = 2; id = "executionburn"; pixel_x = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (EAST)"; icon_state = "warndark"; dir = 4},/area/security/transfer) "abi" = (/obj/machinery/vending/sustenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abj" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abk" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/security/prison) @@ -67,8 +67,8 @@ "abo" = (/turf/simulated/wall,/area/security/hos) "abp" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/hos) "abq" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area/space) -"abr" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plasteel,/area/security/transfer) -"abs" = (/obj/machinery/door/window/brigdoor{name = "Transfer Room"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/security/transfer) +"abr" = (/obj/machinery/light/small{dir = 1},/obj/machinery/flasher{id = "executionflash"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/security/transfer) +"abs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/prison) "abt" = (/turf/simulated/wall,/area/space) "abu" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abv" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -89,11 +89,11 @@ "abK" = (/obj/structure/closet/secure_closet/hos,/turf/simulated/floor/fancy/carpet,/area/security/hos) "abL" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/reagent_dispensers/peppertank{pixel_x = 30; pixel_y = 0},/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 6; pixel_y = 6},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{pixel_x = -4; pixel_y = 3},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor/fancy/carpet,/area/security/hos) "abM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) -"abN" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel,/area/security/transfer) -"abO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/security/transfer) -"abP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/security/transfer) -"abQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/security/prison) -"abR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/transfer) +"abN" = (/turf/simulated/floor/plasteel{tag = "icon-warndark (WEST)"; icon_state = "warndark"; dir = 8},/area/security/transfer) +"abO" = (/turf/simulated/wall,/area/ai_monitored/security/armory) +"abP" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"abQ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHWEST)"; icon_state = "warndark"; dir = 10},/area/security/transfer) +"abR" = (/obj/machinery/atmospherics/unary/outlet_injector,/turf/simulated/floor/plasteel{tag = "icon-warndark (SOUTHEAST)"; icon_state = "warndark"; dir = 6},/area/security/transfer) "abS" = (/turf/simulated/wall,/area/security/prison) "abT" = (/obj/machinery/door/poddoor/preopen{id = "permacell3"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt3"; name = "Cell 3"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "abU" = (/obj/machinery/door/poddoor/preopen{id = "permacell2"; name = "cell blast door"},/obj/machinery/door/airlock/glass{id_tag = "permabolt2"; name = "Cell 2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -108,10 +108,10 @@ "acd" = (/obj/structure/sign/securearea{pixel_y = -32},/obj/structure/lattice/catwalk,/turf/space,/area/space) "ace" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "acf" = (/obj/structure/lattice,/obj/item/stack/cable_coil/random,/turf/space,/area/space) -"acg" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/transfer) -"ach" = (/turf/simulated/wall/r_wall,/area/space) -"aci" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/security/transfer) -"acj" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/security/transfer) +"acg" = (/turf/simulated/floor/plasteel{tag = "icon-warndark"; icon_state = "warndark"; dir = 2},/area/security/transfer) +"ach" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 2; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Transfer Room"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) +"aci" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) +"acj" = (/obj/machinery/flasher_button{id = "executionflash"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionspaceblast"; name = "Vent to Space"; pixel_x = 25; pixel_y = -5; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "ack" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 3"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acl" = (/obj/structure/stool,/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "permabolt3"; name = "Cell Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acm" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Prison Cell 2"; network = list("SS13","Prison")},/obj/item/device/radio/intercom{desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24; prison_radio = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -131,10 +131,10 @@ "acA" = (/turf/simulated/wall,/area/maintenance/fsmaint) "acB" = (/obj/machinery/door/airlock/external{name = "Security External Airlock"; req_access_txt = "63; 13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "acC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/solar/auxport) -"acD" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/prison) -"acE" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/power/apc{dir = 8; name = "Prisoner Transfer Centre"; pixel_x = -30},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel,/area/security/transfer) -"acF" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/security/transfer) -"acG" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/transfer) +"acD" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; layer = 2.9; name = "blast door"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/security/transfer) +"acE" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall/r_wall,/area/security/prison) +"acF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/surgical_drapes,/obj/item/weapon/razor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"acG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/transfer) "acH" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 3"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acI" = (/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "acJ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/flasher{id = "PCell 2"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) @@ -143,7 +143,7 @@ "acM" = (/obj/machinery/deployable/barrier,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "acN" = (/obj/machinery/deployable/barrier,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/camera/motion{c_tag = "Armory Motion Sensor"; dir = 2; name = "motion-sensitive security camera"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "acO" = (/obj/machinery/suit_storage_unit/security,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) -"acP" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) +"acP" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/alt,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "acQ" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "acR" = (/obj/structure/rack,/obj/item/weapon/shield/riot{pixel_x = -3; pixel_y = 3},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/storage/box/teargas,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "acS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/ammunitionlocker,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) @@ -157,8 +157,8 @@ "ada" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adb" = (/obj/structure/grille,/turf/space,/area/space) "adc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) -"add" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/prison) -"ade" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/security/transfer) +"add" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_x = 3},/obj/item/device/taperecorder{pixel_x = -3; pixel_y = 0},/obj/item/device/flash/handheld,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"ade" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/unary/portables_connector/visible,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/security/transfer) "adf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/security/prison) "adg" = (/obj/machinery/door/airlock/glass_security{name = "Long-Term Cell 3"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/security/prison) "adh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/security/prison) @@ -183,24 +183,24 @@ "adA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) "adC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxstarboard) -"adD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/prison) -"adE" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison) -"adF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) -"adG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 9},/area/security/prison) -"adH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/prison) -"adI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) -"adJ" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) -"adK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/security/prison) -"adL" = (/obj/machinery/light{dir = 1},/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/machinery/camera{c_tag = "Prison Hallway West"; network = list("SS13","Prison")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) -"adM" = (/obj/machinery/door_control{id = "permacell2"; name = "Cell 2 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 2"; pixel_x = 6; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) -"adN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/security/prison) -"adO" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) +"adD" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adE" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/unary/portables_connector/visible,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/security/transfer) +"adF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/ignition_switch{id = "executionburn"; pixel_x = 24; pixel_y = 5},/obj/machinery/door_control{id = "executionfireblast"; name = "Transfer Area Lockdown"; pixel_x = 25; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/general/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"adH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) +"adI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/wall,/area/security/transfer) +"adJ" = (/obj/machinery/door_control{id = "permacell3"; name = "Cell 3 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 3"; pixel_x = 6; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) +"adK" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/security/prison) +"adL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/security/prison) +"adM" = (/obj/machinery/light{dir = 1},/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) +"adN" = (/obj/machinery/door_control{id = "permacell2"; name = "Cell 2 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 2"; pixel_x = 6; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) +"adO" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/security/prison) "adP" = (/obj/machinery/door_control{id = "permacell1"; name = "Cell 1 Lockdown"; pixel_x = -4; pixel_y = 25; req_access_txt = "2"},/obj/machinery/flasher_button{id = "PCell 1"; pixel_x = 6; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 4},/area/security/prison) "adQ" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) "adR" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/power/apc{dir = 4; name = "Prison Wing APC"; pixel_x = 24; pixel_y = 0; step_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/prison) "adS" = (/obj/structure/closet/secure_closet{name = "contraband locker"; req_access_txt = "3"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "adT" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/ai_monitored/security/armory) -"adU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) +"adU" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Prison Hallway"; network = list("SS13","Prison")},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/prison) "adV" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory) "adW" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory) "adX" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/riot{pixel_x = 3; pixel_y = 3},/obj/item/weapon/gun/projectile/shotgun/riot,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory) @@ -221,15 +221,15 @@ "aem" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "aen" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/auxport) "aeo" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) -"aep" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/prison) -"aeq" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/security/prison) -"aer" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) -"aes" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) -"aet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) -"aeu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) -"aev" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel,/area/security/prison) -"aew" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera{c_tag = "Prison Hallway East"; dir = 1; network = list("SS13","Prison"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) -"aex" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) +"aep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) +"aeq" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/security/transfer) +"aer" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/transfer) +"aes" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/simulated/floor/plating,/area/security/transfer) +"aet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"aeu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"aev" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/prison) +"aew" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{aiControlDisabled = 0; icon_state = "door_closed"; id_tag = null; locked = 0; name = "Prisoner Transfer Centre"; req_access = null; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"aex" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "aey" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/security/prison) "aez" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/prison) "aeA" = (/obj/machinery/flasher/portable,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) @@ -266,7 +266,7 @@ "aff" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "afg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "afh" = (/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/turf/space,/area/space) -"afi" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel,/area/security/prison) +"afi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "afj" = (/obj/structure/extinguisher_cabinet{pixel_x = 1; pixel_y = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "afk" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "afl" = (/obj/machinery/flasher_button{id = "insaneflash"; pixel_y = -26},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) @@ -419,7 +419,7 @@ "aic" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) "aid" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/maintenance/fsmaint) "aie" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bottle/morphine,/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison) -"aif" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/razor{pixel_x = -6},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine,/obj/item/weapon/reagent_containers/glass/bottle/charcoal,/obj/item/device/healthanalyzer,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) +"aif" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "aig" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison) "aih" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig) "aii" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/brig) @@ -1027,7 +1027,7 @@ "atM" = (/obj/structure/computerframe,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atN" = (/obj/structure/mirror{icon_state = "mirror_broke"; pixel_y = 28; shattered = 1},/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/circuitboard/operating,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atO" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"atP" = (/obj/item/weapon/airlock_painter,/obj/structure/lattice,/obj/structure/closet,/turf/space,/area/space) +"atP" = (/obj/item/weapon/airlock_painter,/obj/structure/lattice,/obj/structure/closet,/obj/item/janiupgrade,/turf/space,/area/space) "atQ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atR" = (/obj/machinery/atmospherics/unary/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atS" = (/obj/machinery/door/airlock/external{req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) @@ -1100,7 +1100,7 @@ "avh" = (/turf/simulated/floor/plasteel,/area/crew_quarters/sleep) "avi" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep) "avj" = (/obj/structure/table/wood,/obj/item/clothing/mask/balaclava,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep) -"avk" = (/obj/machinery/camera{c_tag = "Prison Sanitatium"; dir = 1; network = list("SS13","Prison"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison) +"avk" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) "avl" = (/obj/structure/table/wood,/obj/item/weapon/coin/silver,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep) "avm" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plasteel,/area/crew_quarters/sleep) "avn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/crew_quarters/sleep) @@ -2099,11 +2099,11 @@ "aOs" = (/turf/simulated/wall,/area/storage/tools) "aOt" = (/turf/simulated/wall/r_wall,/area/bridge) "aOu" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor,/area/space) -"aOv" = (/obj/machinery/door/airlock{name = "Garden"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/construction{name = "\improper Garden"}) +"aOv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/security/prison) "aOw" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/plasteel,/area/storage/primary) "aOx" = (/obj/structure/flora/tree/pine/xmas,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"aOy" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) -"aOz" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) +"aOy" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/security/prison) +"aOz" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/transfer) "aOA" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -31},/obj/item/clothing/head/cakehat,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aOB" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aOC" = (/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) @@ -2239,7 +2239,7 @@ "aRc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/bridge) "aRd" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/bar) "aRe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) -"aRf" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/status_display{density = 0; layer = 4},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) +"aRf" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/security/transfer) "aRg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aRh" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) "aRi" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) @@ -2740,7 +2740,7 @@ "baJ" = (/obj/structure/table,/obj/item/stack/wrapping_paper,/obj/item/stack/wrapping_paper,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_y = 30},/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 1},/area/quartermaster/office) "baK" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 5},/area/quartermaster/office) "baL" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/hallway/primary/central) -"baM" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "heads_meeting"; name = "privacy shutters"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"baM" = (/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "baN" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table,/turf/simulated/floor/wood,/area/bridge/meeting_room) "baO" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) "baP" = (/turf/simulated/floor/fancy/carpet,/area/bridge/meeting_room) @@ -3003,11 +3003,11 @@ "bfM" = (/obj/structure/table/wood,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/wood,/area/crew_quarters/captain) "bfN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bfO" = (/obj/structure/closet/secure_closet/chemical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"bfP" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) +"bfP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; layer = 2.4},/obj/machinery/door/window/southleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Armory"; req_access_txt = "2"},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/security/transfer) "bfQ" = (/obj/machinery/camera{c_tag = "Chemistry"; dir = 2; network = list("SS13")},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "bfR" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bfS" = (/obj/machinery/chem_master,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whiteyellow"},/area/medical/chemistry) -"bfT" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/status_display{density = 0; layer = 4},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) +"bfT" = (/obj/machinery/light_switch{pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/general/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bfU" = (/obj/structure/stool/bed/chair,/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bfV" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bfW" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -3148,7 +3148,7 @@ "biB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/chemistry) "biC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"biE" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) +"biE" = (/obj/structure/table,/obj/item/weapon/restraints/handcuffs,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/prison) "biF" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "biG" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/security/armory) "biH" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/medical/chemistry) @@ -4178,7 +4178,7 @@ "bCr" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bCs" = (/obj/structure/closet/jcloset,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/janitor) "bCt" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel,/area/janitor) -"bCu" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Custodial Closet"},/turf/simulated/floor/plasteel,/area/janitor) +"bCu" = (/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plasteel,/area/janitor) "bCv" = (/turf/simulated/floor/plasteel,/area/janitor) "bCw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/janitor) "bCx" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access_txt = "26"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/janitor) @@ -4744,7 +4744,7 @@ "bNl" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 8},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/toxins/mixing) "bNm" = (/obj/item/target,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/toxins/test_area) "bNn" = (/obj/machinery/light_construct{dir = 8},/turf/simulated/floor/plating,/area/construction) -"bNo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel,/area/construction) +"bNo" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/razor{pixel_x = -6},/obj/item/stack/medical/ointment{pixel_y = 4},/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = 5; pixel_y = -2},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 2},/area/security/prison) "bNp" = (/obj/machinery/light_construct{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/construction) "bNq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/construction) "bNr" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) @@ -4806,7 +4806,7 @@ "bOv" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/construction) "bOw" = (/obj/structure/closet/crate,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/construction) "bOx" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/construction) -"bOy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/construction) +"bOy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/general/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bOz" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) "bOA" = (/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bOB" = (/turf/simulated/floor/plasteel{icon_state = "caution"; dir = 5},/area/hallway/primary/aft) @@ -4862,11 +4862,11 @@ "bPz" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft) "bPA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Construction Area Maintenance"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) "bPB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/construction) -"bPC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/construction) +"bPC" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 1},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/pen,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bPD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/construction) "bPE" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/construction) "bPF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/construction) -"bPG" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"bPG" = (/obj/structure/closet/secure_closet/injection,/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "Prisoner Transfer Centre"; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) "bPH" = (/turf/simulated/floor/plasteel{icon_state = "caution"; dir = 4},/area/hallway/primary/aft) "bPI" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/clothing/tie/stethoscope,/obj/machinery/vending/wallmed{pixel_y = 28},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bPJ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/atmos) @@ -4972,8 +4972,8 @@ "bRF" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) "bRG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) "bRH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) -"bRI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area/construction) -"bRJ" = (/obj/machinery/power/apc{name = "Aft Hall APC"; dir = 8; pixel_x = -25; pixel_y = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"bRI" = (/obj/structure/stool/bed,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/glasses/sunglasses/blindfold,/obj/item/clothing/mask/muzzle,/obj/machinery/camera{c_tag = "Prison Sanitatium"; dir = 4; network = list("SS13","Prison"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/security/prison) +"bRJ" = (/obj/machinery/door/airlock{name = "Garden"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"}) "bRK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bRL" = (/obj/item/weapon/crowbar,/obj/item/weapon/wrench,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{dir = 6; icon_state = "caution"},/area/hallway/primary/aft) "bRM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/atmos) @@ -5134,9 +5134,9 @@ "bUL" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "bUM" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/tcommsat/computer) "bUN" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/tcommsat/computer) -"bUO" = (/obj/item/device/radio/intercom{dir = 8; freerange = 1; name = "Station Intercom (Telecoms)"; pixel_x = 0; pixel_y = 26},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/tcommsat/computer) -"bUP" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) -"bUQ" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"bUO" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) +"bUP" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge) +"bUQ" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/status_display{density = 0; layer = 4},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) "bUR" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/atmos) "bUS" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{dir = 1},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos) "bUT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/obj/machinery/door/poddoor/preopen{id = "atmos"; name = "atmos blast door"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/atmos) @@ -5184,7 +5184,7 @@ "bVJ" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "bVK" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/tcommsat/computer) "bVL" = (/obj/machinery/computer/telecomms/traffic{network = "tcommsat"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/tcommsat/computer) -"bVM" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"bVM" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) "bVN" = (/turf/simulated/floor/plasteel,/area/tcommsat/computer) "bVO" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/floor/plasteel,/area/tcommsat/computer) "bVP" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/atmos) @@ -5231,7 +5231,7 @@ "bWE" = (/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "bWF" = (/obj/machinery/telecomms/receiver/preset_right,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "bWG" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/tcommsat/computer) -"bWH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"bWH" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/status_display{density = 0; layer = 4},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) "bWI" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/pen/blue,/turf/simulated/floor/plasteel,/area/tcommsat/computer) "bWJ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bWK" = (/turf/simulated/wall,/area/engine/break_room) @@ -5269,9 +5269,9 @@ "bXq" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating,/area/tcommsat/computer) "bXr" = (/obj/machinery/status_display,/turf/simulated/wall,/area/tcommsat/computer) "bXs" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/turf/simulated/floor/plating,/area/tcommsat/computer) -"bXt" = (/obj/machinery/door/airlock/glass_command{name = "Control Room"; req_access_txt = "19; 61"},/turf/simulated/floor/plasteel,/area/tcommsat/computer) -"bXu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area/maintenance/aft) -"bXv" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"bXt" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge blast"; layer = 2.9; name = "bridge blast door"},/turf/simulated/floor/plating,/area/bridge) +"bXu" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "heads_meeting"; layer = 2.9; name = "privacy shutters"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/bridge/meeting_room) +"bXv" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "heads_meeting"; layer = 2.9; name = "privacy shutters"},/turf/simulated/floor/plating,/area/bridge/meeting_room) "bXw" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bXx" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/engine/break_room) "bXy" = (/turf/simulated/floor/plasteel,/area/engine/break_room) @@ -5315,7 +5315,7 @@ "bYk" = (/obj/machinery/door/airlock/glass_engineering{name = "Server Room"; req_access_txt = "61"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/tcommsat/computer) "bYl" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/tcommsat/computer) "bYm" = (/obj/machinery/door/airlock/glass_engineering{name = "Server Room"; req_access_txt = "61"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/tcommsat/computer) -"bYn" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/tcommsat/computer) +"bYn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/construction) "bYo" = (/obj/structure/closet/emcloset,/obj/machinery/camera{c_tag = "Telecoms Monitoring"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "bYp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/aft) "bYq" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) @@ -5365,8 +5365,8 @@ "bZi" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/tcommsat/computer) "bZj" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/computer) "bZk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/turf/simulated/wall,/area/tcommsat/computer) -"bZl" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/tcommsat/computer) -"bZm" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Telecoms Admin"; departmentType = 5; name = "Telecoms RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"bZl" = (/obj/machinery/door/airlock/research{name = "Testing Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/toxins/misc_lab) +"bZm" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "atmos"; layer = 2.9; name = "atmos blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/atmos) "bZn" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 5},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bZo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bZp" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/camera{c_tag = "Aft Primary Hallway 1"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = -22},/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) @@ -5461,8 +5461,8 @@ "cba" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "cbb" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server) "cbc" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/tcommsat/computer) -"cbd" = (/obj/machinery/door/airlock/engineering{name = "Telecommunications"; req_access_txt = "61"},/turf/simulated/floor/plasteel,/area/tcommsat/computer) -"cbe" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/hallway/primary/aft) +"cbd" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plating,/area/construction) +"cbe" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "cbf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIE"; location = "AftH"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "cbg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "cbh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/hallway/primary/aft) @@ -5513,7 +5513,7 @@ "cca" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel,/area/tcommsat/computer) "ccb" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "ccc" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/hallway/primary/aft) -"ccd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/hallway/primary/aft) +"ccd" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/heavy,/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Atmospherics Desk"; req_access_txt = "24"},/obj/machinery/door/poddoor/preopen{id = "atmos"; layer = 2.9; name = "atmos blast door"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/atmos) "cce" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/hallway/primary/aft) "ccf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/hallway/primary/aft) "ccg" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/hallway/primary/aft) @@ -6250,95 +6250,95 @@ "cqj" = (/obj/item/weapon/screwdriver,/obj/structure/lattice,/turf/space,/area/space) "cqk" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cql" = (/obj/machinery/vending/wallmed{pixel_y = 28},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) -"cqm" = (/obj/machinery/door/airlock/research{name = "Testing Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/misc_lab) -"cqn" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "atmos"; name = "atmos blast door"},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/atmos) -"cqo" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/heavy,/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Atmospherics Desk"; req_access_txt = "24"},/obj/machinery/door/poddoor/preopen{id = "atmos"; name = "atmos blast door"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/atmos) +"cqm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/construction) +"cqn" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"cqo" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "atmos"; layer = 2.9; name = "atmos blast door"},/turf/simulated/floor/plating,/area/atmos) "cqp" = (/obj/machinery/vending/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "cqq" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/plasteel,/area/engine/engineering) -"cqr" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cqr" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/wall,/area/construction) "cqs" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cqt" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plasteel{tag = "icon-darkyellow (EAST)"; icon_state = "darkyellow"; dir = 4},/area/aisat) -"cqu" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 28; pixel_y = 0},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cqt" = (/obj/machinery/power/apc{name = "Aft Hall APC"; dir = 8; pixel_x = -25; pixel_y = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"cqu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft) "cqv" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "cqw" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Room"; req_access_txt = "17;65"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqx" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqy" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cqx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/tcommsat/computer) +"cqy" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "cqz" = (/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/solar/starboard) "cqA" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity West"; dir = 1; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cqB" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity East"; dir = 1; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cqC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/aisat) -"cqD" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/aisat) -"cqE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqF" = (/obj/structure/transit_tube/station{dir = 4; icon_state = "closed"; reverse_launch = 1; tag = "icon-closed (EAST)"},/turf/simulated/floor/plasteel{tag = "icon-darkyellow (EAST)"; icon_state = "darkyellow"; dir = 4},/area/aisat) -"cqG" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqH" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/aisat) -"cqI" = (/obj/structure/transit_tube{dir = 1; icon_state = "Block"; tag = "icon-Block (NORTH)"},/obj/machinery/light,/turf/simulated/floor/plasteel{tag = "icon-darkyellow (EAST)"; icon_state = "darkyellow"; dir = 4},/area/aisat) -"cqJ" = (/obj/machinery/door_control{id = "teledoor"; name = "AI Satellite Teleport Shutters Control"; pixel_x = 0; pixel_y = -25; req_access_txt = "17;65"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1},/obj/machinery/camera{c_tag = "MiniSat Teleporter"; dir = 1; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqK" = (/obj/machinery/door/poddoor/shutters{id = "teledoor"; name = "AI Satellite Teleport Access"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cqC" = (/obj/item/device/radio/intercom{dir = 8; freerange = 1; name = "Station Intercom (Telecoms)"; pixel_x = 0; pixel_y = 26},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqD" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"cqE" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqF" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqH" = (/obj/machinery/door/airlock/glass_command{name = "Control Room"; req_access_txt = "19; 61"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqI" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/tcommsat/computer) +"cqJ" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) +"cqK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/tcommsat/computer) "cqL" = (/obj/machinery/door/airlock/external{name = "MiniSat External Access"; req_access = null; req_access_txt = "65;13"},/turf/simulated/floor/plating,/area/aisat) -"cqM" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/aisat) -"cqN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/aisat) +"cqM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/tcommsat/computer) +"cqN" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "cqO" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/aisat) -"cqQ" = (/obj/machinery/power/apc{dir = 1; name = "MiniSat External Power APC"; pixel_y = 29},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cqP" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Telecoms Admin"; departmentType = 5; name = "Telecoms RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel,/area/tcommsat/computer) "cqR" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space) "cqS" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/aisat) "cqT" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/aisat) -"cqU" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/wall,/area/aisat) -"cqV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqW" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/camera{c_tag = "MiniSat Entrance"; dir = 2; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cqZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"cra" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/wall,/area/aisat) +"cqU" = (/obj/machinery/door/airlock/engineering{name = "Telecommunications"; req_access_txt = "61"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel,/area/hallway/primary/aft) +"cqX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/hallway/primary/aft) +"cqY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/hallway/primary/aft) +"cqZ" = (/obj/structure/table,/obj/item/device/electropack,/obj/item/weapon/screwdriver,/obj/item/weapon/wrench,/obj/item/clothing/head/helmet,/obj/item/device/assembly/signaler,/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/transfer) +"cra" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/aisat) "crb" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/aisat) "crc" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/aisat) "crd" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space) -"cre" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cre" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/aisat) "crf" = (/obj/structure/window/reinforced,/turf/space,/area/space) "crg" = (/turf/simulated/wall,/area/turret_protected/aisat_interior) "crh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/turret_protected/aisat_interior) "cri" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/hatch{name = "MiniSat Antechamber"; req_one_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crj" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/aisat) +"crj" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/aisat) "crk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/turret_protected/aisat_interior) -"crl" = (/obj/machinery/computer/security/telescreen{dir = 1; name = "MiniSat Monitor"; network = list("MiniSat"); pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/aisat) +"crl" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/aisat) "crm" = (/obj/machinery/door/window{dir = 1; name = "MiniSat Walkway Access"; req_access_txt = "13;65"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/aisat) -"crn" = (/obj/structure/window/reinforced,/obj/machinery/door/window{base_state = "right"; dir = 1; icon_state = "right"; name = "MiniSat Walkway Access"; req_access_txt = "13;65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) +"crn" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/aisat) "cro" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) "crp" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crq" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/aisat) -"crr" = (/obj/machinery/light,/obj/machinery/turretid{control_area = "\improper AI Satellite Antechamber"; enabled = 1; icon_state = "control_standby"; name = "Antechamber Turret Control"; pixel_x = 0; pixel_y = -24; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/aisat) +"crq" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/aisat) +"crr" = (/obj/machinery/camera{c_tag = "MiniSat Teleporter"; dir = 1; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crt" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/aisat) -"cru" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space) -"crv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/hatch{name = "MiniSat Antechamber"; req_one_access_txt = "65"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crt" = (/obj/machinery/door_control{id = "teledoor"; name = "AI Satellite Teleport Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "17;65"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cru" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/aisat) +"crv" = (/obj/machinery/door/poddoor/shutters{id = "teledoor"; name = "AI Satellite Teleport Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crw" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) "crx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) -"cry" = (/obj/structure/window/reinforced,/obj/machinery/door/window{dir = 1; name = "MiniSat Walkway Access"; req_access_txt = "13;65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) +"cry" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/aisat) "crz" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window{base_state = "right"; dir = 1; icon_state = "right"; name = "MiniSat Walkway Access"; req_access_txt = "13;65"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/aisat) "crA" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_sw"; name = "southwest of station"; turf_type = /turf/space; width = 18},/turf/space,/area/space) "crB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/aisat) -"crC" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"crC" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/aisat) "crD" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/space) -"crE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crF" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) "crG" = (/obj/machinery/hologram/holopad,/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crH" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/aisat) "crI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space) "crJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/aisat) -"crK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crM" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crK" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) +"crL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/aisat) +"crM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/aisat) "crN" = (/obj/machinery/bot/secbot/pingsky,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space) -"crP" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_x = -28; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"crQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crO" = (/obj/structure/transit_tube/station{dir = 4; icon_state = "closed"; reverse_launch = 1; tag = "icon-closed (EAST)"},/turf/simulated/floor/plating,/area/aisat) +"crP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/aisat) +"crQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/aisat) "crR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 4},/obj/machinery/camera{c_tag = "MiniSat Exterior North West"; dir = 8; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/aisat) "crS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/bot/floorbot{on = 0},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) -"crT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crT" = (/turf/simulated/floor/plating,/area/aisat) "crU" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/turret_protected/aisat_interior) "crV" = (/obj/machinery/camera/motion{c_tag = "MiniSat Antechamber"; dir = 1; network = list("MiniSat")},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; listening = 0; name = "Station Intercom (AI Private)"; pixel_y = -29},/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/turret_protected/aisat_interior) -"crW" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/aisat) "crX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/bot/cleanbot{on = 0},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) "crY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "MiniSat Exterior North East"; dir = 4; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/aisat) "crZ" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai) @@ -6348,17 +6348,17 @@ "csd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/highsecurity{icon_state = "door_locked"; locked = 1; name = "AI Chamber"; req_access_txt = "16"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) "cse" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/turret_protected/ai) "csf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/turret_protected/ai) -"csg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"csh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"csg" = (/obj/structure/transit_tube{dir = 1; icon_state = "Block"; tag = "icon-Block (NORTH)"},/turf/simulated/floor/plating,/area/aisat) +"csh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/aisat) "csi" = (/obj/machinery/camera{c_tag = "AI Chamber North"; dir = 2; network = list("MiniSat","RD"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai) "csj" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai) "csk" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/ai) -"csl" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"csm" = (/obj/machinery/power/apc{aidisabled = 0; cell_type = 2500; dir = 4; name = "MiniSat Antechamber APC"; pixel_x = 29; pixel_y = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) -"csn" = (/obj/machinery/porta_turret{ai = 1; dir = 1},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/turret_protected/aisat_interior) +"csl" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) +"csm" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/aisat) +"csn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/closet/emcloset,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/aisat) "cso" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) "csp" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"csq" = (/obj/machinery/porta_turret{ai = 1; dir = 1},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/turret_protected/aisat_interior) +"csq" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "csr" = (/obj/machinery/porta_turret{ai = 1; dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "css" = (/obj/machinery/flasher{id = "AI"; pixel_x = 0; pixel_y = -21},/obj/machinery/ai_slipper{icon_state = "motion0"; uses = 10},/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "cst" = (/obj/machinery/porta_turret{ai = 1; dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) @@ -6384,55 +6384,88 @@ "csN" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/secure) "csO" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/wall/r_wall,/area/turret_protected/ai) "csP" = (/turf/simulated/wall,/area/ai_monitored/storage/secure) -"csQ" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (NORTH)"; icon_state = "darkbluecorners"; dir = 1},/area/turret_protected/ai) -"csR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/plasteel{tag = "icon-darkblue (NORTHWEST)"; icon_state = "darkblue"; dir = 9},/area/turret_protected/ai) +"csQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "MiniSat Entrance"; dir = 4; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "MiniSat External Power APC"; pixel_x = -27; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/aisat) +"csR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/aisat) "csS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/secure) -"csT" = (/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (EAST)"; icon_state = "darkbluecorners"; dir = 4},/area/turret_protected/ai) -"csU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/turf/simulated/floor/plasteel{tag = "icon-darkblue (NORTHEAST)"; icon_state = "darkblue"; dir = 5},/area/turret_protected/ai) +"csT" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/wall,/area/aisat) +"csU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "csV" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space) "csW" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) -"csX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{tag = "icon-darkblue (WEST)"; icon_state = "darkblue"; dir = 8},/area/turret_protected/ai) -"csY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel{tag = "icon-darkblue (EAST)"; icon_state = "darkblue"; dir = 4},/area/turret_protected/ai) -"csZ" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = -3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/ai_monitored/storage/secure) -"cta" = (/obj/machinery/atmospherics/unary/tank/air,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/ai_monitored/storage/secure) -"ctb" = (/obj/structure/rack,/obj/item/weapon/crowbar/red,/obj/item/weapon/wrench,/obj/item/clothing/head/welding,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/ai_monitored/storage/secure) +"csX" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/aisat) +"csY" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/wall,/area/aisat) +"csZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) +"cta" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"ctb" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/grille,/turf/space,/area/space) "ctc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space) "ctd" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/aisat) "cte" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) -"ctf" = (/obj/machinery/recharge_station,/turf/simulated/floor/plasteel{dir = 9; icon_state = "yellow"},/area/ai_monitored/storage/secure) -"ctg" = (/obj/machinery/power/apc{dir = 8; name = "MiniSat Maint APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"cth" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"cti" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Air Out"; on = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/secure) -"ctj" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 28; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"ctk" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/secure) -"ctl" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) +"ctf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/aisat) +"ctg" = (/obj/machinery/computer/security/telescreen{dir = 1; name = "MiniSat Monitor"; network = list("MiniSat"); pixel_x = 0; pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/aisat) +"cth" = (/obj/machinery/turretid{control_area = "\improper AI Satellite Antechamber"; enabled = 1; icon_state = "control_standby"; name = "Antechamber Turret Control"; pixel_x = 0; pixel_y = -24; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{tag = "icon-darkblue"; icon_state = "darkblue"; temperature = 273.15},/area/aisat) +"cti" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"ctj" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/window/reinforced,/turf/space,/area/space) +"ctk" = (/obj/structure/window/reinforced,/obj/machinery/door/window{base_state = "right"; dir = 1; icon_state = "right"; name = "MiniSat Walkway Access"; req_access_txt = "13;65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) +"ctl" = (/obj/structure/window/reinforced,/obj/machinery/door/window{dir = 1; name = "MiniSat Walkway Access"; req_access_txt = "13;65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) "ctm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/aisat) -"ctn" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"cto" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/secure) -"ctp" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4; initialize_directions = 11},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/ai_monitored/storage/secure) -"ctq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"ctr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 4},/area/ai_monitored/storage/secure) +"ctn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"cto" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) +"ctp" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/turret_protected/aisat_interior) +"ctq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"ctr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/turret_protected/aisat_interior) "cts" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/ai_monitored/storage/secure) "ctt" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/unary/outlet_injector{dir = 8},/turf/simulated/floor/plating/airless,/area/space) "ctu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) "ctv" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_s"; name = "south of station"; turf_type = /turf/space; width = 18},/turf/space,/area/space) -"ctw" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"ctx" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/camera/motion{c_tag = "MiniSat Maintenance"; dir = 4; network = list("MiniSat")},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"cty" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"ctz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"ctA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) +"ctw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) "ctB" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/ai_monitored/storage/secure) "ctC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "ctD" = (/obj/effect/landmark{name = "blobstart"},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine,/area/toxins/explab) "ctE" = (/obj/machinery/r_n_d/experimentor,/turf/simulated/floor/engine,/area/toxins/explab) -"ctF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/ai_monitored/storage/secure) -"ctG" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 1; name = "Auxiliary MiniSat Distribution Port"},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/ai_monitored/storage/secure) +"ctF" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) +"ctG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/turret_protected/aisat_interior) "ctH" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) "ctI" = (/obj/structure/table/reinforced,/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/engine/chiefs_office) -"ctJ" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/ai_monitored/storage/secure) -"ctK" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/ai_monitored/storage/secure) -"ctL" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable,/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/ai_monitored/storage/secure) -"ctM" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/ai_monitored/storage/secure) +"ctJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/turret_protected/aisat_interior) +"ctK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) +"ctN" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) +"ctO" = (/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners (WEST)"; icon_state = "darkbluecorners"; dir = 8},/area/turret_protected/aisat_interior) +"ctP" = (/turf/simulated/floor/plasteel{tag = "icon-darkbluecorners"; icon_state = "darkbluecorners"; temperature = 273.15},/area/turret_protected/aisat_interior) +"ctQ" = (/obj/machinery/power/apc{aidisabled = 0; cell_type = 2500; dir = 4; name = "MiniSat Antechamber APC"; pixel_x = 29; pixel_y = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) +"ctR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"ctS" = (/obj/machinery/porta_turret{ai = 1; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"ctT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space) +"ctU" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) +"ctV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) +"ctW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) +"ctX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) +"ctY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/ai) +"ctZ" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/electrical{pixel_x = -3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/ai_monitored/storage/secure) +"cua" = (/obj/machinery/atmospherics/unary/tank/air,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/ai_monitored/storage/secure) +"cub" = (/obj/structure/rack,/obj/item/weapon/crowbar/red,/obj/item/weapon/wrench,/obj/item/clothing/head/welding,/turf/simulated/floor/plating,/area/ai_monitored/storage/secure) +"cuc" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/ai_monitored/storage/secure) +"cud" = (/obj/machinery/power/apc{dir = 8; name = "MiniSat Maint APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/ai_monitored/storage/secure) +"cue" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{icon_state = "warnplate"},/area/ai_monitored/storage/secure) +"cuf" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Air Out"; on = 1},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHEAST)"; icon_state = "warndark"; dir = 5},/area/ai_monitored/storage/secure) +"cug" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 28; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTH)"; icon_state = "warndark"; dir = 1},/area/ai_monitored/storage/secure) +"cuh" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{tag = "icon-warndark (NORTHWEST)"; icon_state = "warndark"; dir = 9},/area/ai_monitored/storage/secure) +"cui" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuj" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cul" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4; initialize_directions = 11},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cum" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cun" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuo" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cup" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/camera/motion{c_tag = "MiniSat Maintenance"; dir = 4; network = list("MiniSat")},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuq" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cur" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cus" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cut" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuu" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 1; name = "Auxiliary MiniSat Distribution Port"},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuv" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuw" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cux" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuy" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) +"cuz" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Custodial Closet"},/obj/structure/stool/bed/chair/janicart,/turf/simulated/floor/plasteel,/area/janitor) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6499,26 +6532,26 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaafaaaaafaaaaafaaaaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaajaakaalaakaalaakaamaaiaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaiaanaaoaapaaqaaraasaataauaavaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaafaaiaawaaxaayaaxaaxaaxaazaauaaAaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaiaaiaaBaaCaaDaaEaaFaasaasaauaaGaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaHaaHaaHaaHaaHaaIaaIaaiaaJaasaasaasaasaaKaasaasaaLaaMaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaNaaPaaOaaHaaIaaiaaiaaQaaKaasaasaaRaaSaaKaasaaTaaUaaiaaaaaVaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaWaaYaaXaaHaaIaaiaaZaasaasaasaaKabaabbaasaasabcabdaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaVaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabgabhabgaaHaaIaaiabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabrabsabraaHabtaaiabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEabFabGaboabHabIabJabKabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabNabPabOabRabQaaiabSabTabSabSabSabUabSabSabSabVabSabSabWaaiachachachachachachachachabmabXabEabYabDaboabZacaacbacbaccaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgaciabhacjaaHacDaaiackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNacOacOacPacQacRacSactacuabEacvabDabpacwacxacyacbaczaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaHacEacGacFaaHaddaaiacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEacvabDabpacUacVacWacbacXaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHacgadeaaHadDaaiadfadgadhabSadfadiadhabSadfadjadhabSabSaaiafnaRFaNFadVaNFadWbhdbiGactadoabEacvabDaboadpadqadradsadtaboabnabmaduacBacAacAadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEadGadFadIadHadKadJadLadHadNadMadOadHadUadPadQadRaaiadSadTaNFboSaNFadXadYadZaeaabEaebaecabmaboaedaboaeeaboaefaboaegaehabmaeiacAaejaekaekaelaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaepaeraeqaetaesaeuaetaevaesaetaetaetaesaexaewaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactaeIaeJaeKabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeTaeUaeVaeWaeXaeYaeZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhaaiaaiaaiaaiafiafjafkaflafmaifafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactafAafBafCabmafDafEafFafGafHafIafJafKafLabmafMacAafNaekaekafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdageagfaggaghagiafFagjafHagkaglagmabmaduacAacAacAadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFagGagHagIagJagKagLagMagNagOagPagQagRagSagTagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaanaaoaapaaqaaraasaataauaavaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaiaawaaxaayaaxaaxaaxaazaauaaAaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaiaaiaaBaaCaaDaaEaaFaasaasaauaaGaaiaafaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaiaaJaasaasaasaasaaKaasaasaaLaaMaaiaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaQaaKaasaasaaRaaSaaKaasaaTaaUaaiaaaaaVaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaZaasaasaasaaKabaabbaasaasabcabdaaiaaiaaiaafaaaaaaaaaaaaaaaaafaaaaaVaaaaaaaaaaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaOaaWaaNaaXabiaasabjaasaasaasaasaasaasaauaasabkablaaiaafaafaafaafaafaafaafaafabmabmabnabmabmaboaboabpabpabpaboaboaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaYabraaPabsabuaasaasabvabwabxaasabyabzabAaasabBabCaaiaafaaaaafaafaafaafaaaaafabnabDabEabFabGaboabHabIabJabKabLaboaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafabMaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabfabfabeabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabNabPabhabsabSabTabSabSabSabUabSabSabSabVabSabSabWaaiactactactactactactactactabOabXabEabYabDaboabZacaacbacbaccaboaaaaafacdaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaafaafaaaaceaaaacfaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgabQacgabRabsackaasaclabSacmacnacoabSacpacqacrabSacsaaiacMacNacOacOacPacQacRacSactacuabEacvabDabpacwacxacyacbaczaboaaaaafacAacBacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaafaaaaafaaaaaaaceaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacCaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaciacDachacEacHaasacIabSacJacnacIabSacKacqacIabSacLaaiacMadkadladladladladmadnactacTabEacvabDabpacUacVacWacbacXaboaafaafacAacYacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadaaaaacZacZacZacZacZaafabfaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadbadbadbadbaafaafaaaadcaaaaafaafabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhaaHaaHaaHacFaddacjacGadfadgadhabSadfadiadhabSadfadjadhabSabSaaiafnaRFaNFadVaNFadWbhdbiGactadoabEacvabDaboadpadqadradsadtaboabnabmaduacBacAacAadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadcaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHadeadEadDadGadFadIadHadKadJadMadLadOadNadUadLaepadPadQadRaaiadSadTaNFboSaNFadXadYadZaeaabEaebaecabmaboaedaboaeeaboaefaboaegaehabmaeiacAaejaekaekaelaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaaeoaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaeqaesaeraeuaetaewaevafiaexavkaifaexaexaexaifaOyaOvaeyaezaaiaeAaeBaeCaeDaeEaeFaeGaeHactaeIaeJaeKabmaeLaeMaeNaeOaePaeQaeNaeRaeSaeTaeUaeVaeWaeXaeYaeZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRfaOzbfPbaMbOybfTaaHbiEafjafkaflafmbNoafoafpafpafpabSafqafraaiafsaftafuafvafwafxafyafzactafAafBafCabmafDafEafFafGafHafIafJafKafLabmafMacAafNaekaekafOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHaaHbPCcqZbPGaaHaaiadhafQadfafRafRafRafRafRafRafRafSafTafUafVafWafXafYafZagaagbagcafUagdageagfaggaghagiafFagjafHagkaglagmabmaduacAacAacAadvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaHaaHaaHaaHaaHaaiagnagoagpafRagqagragsagtaguafRagvagwagxagyagzagAagBagaagCagbagDagEagFagGagHagIagJagKagLagMagNagOagPagQagRagSagTagUacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaiagVagWagXafRagYagZahaahbahcafRagvahdaheahfahgahhahiahjahjahkahlahmahnahoahpahqahrahsahrahtahuahuahvahwabmabmaeUahxacAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaadzaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahyagWahyafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIahJahKahLahMahNahOahPahQahRahSahTahUahVahWahXahYahZaiaaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaiaieavkaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibRIagWahyafRagYagZahzahbahAafRahBahCahDahEahFahGahHahIahJahKahLahMahNahOahPahQahRahSahTahUahVahWahXahYahZaiaaibaicaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafacZacZacZacZacZaaaadzaaaacZacZacZacZacZaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfacfafPafPafPafPafPaaaafdaaaafPafPafPafPafPaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaiaieagWaigafRaihaiiaiiaijahcafRaikailafUaimainaioaipaipaiqairafUafUaisaitaduaduaduabmabmabmabmabmabmabmabmaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaadwadxadxadxadxadyadzadAadBadBadBadBadCaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaaaaafaaaaaaaaaafdaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaixaiyaixaizaiAafRafRafRafRafRafRaiBaiCafRaiDaiEaiFaiFaiFaiFaiFaiFaiFaiFaiGaiHaiIaiJaiFailaiAaiKaiLaiMaiNaiOaiPaiQaiRaiuaivaiwaidaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaemaemaemaemaemaaaadzaaaaemaemaemaemaemaiSabqaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafaenaenaenaenaenaaaafdaaaaenaenaenaenaenaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaixaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajjajkajjajjajjajjajjajjajlajjajiajmajkajnajoajpajqajrajsajtajuajvajwaiuaivaiwacAaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaaadzaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaafaafbafbafbafbafcafdafeaffaffaffaffafgaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaeZaeZaeZaelaaaaafaizajyajzajAajBajCajDajEajFajGajHajIajJajKajLajIajJajMajLajIajJajNajOajOajOajPahCajQajRajSajTajUajVajWajVajVajVajXajYaiPaiuaivaiwaidaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfaafaafaafaafaafadzaafaafaafaafaafabfabfabfaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6543,7 +6576,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaztaqpazuatBavMaymaynayoaypavMatBazuavMaqpazvazwamHazxazyazzazAatGazBayuazCazDazEazFazGazHazCayuazIazJazKawdawdawdawdawdazLazMaxoaafazNazNazOazNazPazNazNaafaxoaxuaxvazQazRazSazTazQaxvazUazVazWazXazYazZaAaaAbaAcaAdaAeaAfayOayOayOaAgayQamwaAhacAaeUapTapTapTapTapTaAiaAjaAkayZayZayZayZayZaAlaAmaAnayZapWapWapWapWaAoaApapWaydaqcaqcaqcaqcaqcaydapWallamlaAqazhallaArallamlamlallamlarjallamlamlallamlamlallarjasjallamlamlallaAsamlarjawSaAtaroaroaroaroaroaroaroaroaroabtabtabtabtabtaafaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaylavMavMavMavMavMavMaylavMaaaaqpaAuaysaAvaAvaAwaAxaAvaAvaAyayuazCazEaAzaAAazEazEazCayuaqCaABaACaADaADaADaADaADaADaADaAEaaaazNaAFaAGaAHaAIaAJazNaaaaxoaxuaxvazQaAKaALaAMazQaxvawaazLaxxaANaAOaAPaAQaARaAbaASaATayOayOaAUayOaAgayQamwayRacAaeUapTaqOaqPaAVaqRaxOaAWayZaAXaAmaAYaAYayZaAlaAZaAnayZaBaaBbaBcaBdaBeaApaafaBfaBgaBgaBgaBgaBgaBhaaaallamlaBiaBjallallallallallallaBkaBlallallallallallallaBmaBnaBoaBpaBpaBpaBqaBraBsaBtaBuaBvaBwaBxaByaBzaBAaBBaBCaBDaBDaBDaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaajxaekaBEaekaeZaeZaeZaeZaekaBEaBFaelaqpaBGaBHaBIaBJaBKaBLaBMaBNaBOayuazCazEazEaBPazEazEazCayuaBQaBRaBSaBTaBUaBVaBWaBXaBYaBZaAEaafazNaCaaCbaCcaCdaCeazNaafaxoaxuaxvaCfaCgaChaCiaCjaxvapNaCkaxxaClaCmaCnayOaCnaCoaCpaCqaCraAgaxKaCsaxKayQamwayRacAaeUapTarQarRarSaCtarUaCuayZaCvaAmaAmaAmazaaCwaCxaCyayZaCzaCAaCBaCCaCDaApaaaaafaaaaafaaaaafaaaaafaaaallavuaCEaBsaCFaCGallasiamlavuarjamlallaaaallawTaBsaBsaCHaCIaCJaCJaCJaCJaCJaCKaCLaCMaCNaCOaCOaCOaCPaCQaCRaCSaCTaCUaCVaCWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaekaCXaOualQaCZaDaaDbaDcaDdaDealQaDgaDfavMaBGaDhaAvaDiaDjaDkaDlaDmaDnayuaDoazEazEazEazEaDpaDqaOvaDsaDtaDuaBYaBYaBYaBYaBYaBYaBYaAEaaaazNaDvaDwaDxaDyaDzazNaaaaxoaxuaxvaDAaDBaDCaDDaDEaxvapNaDFaxxaxxaDGaATaDHaATaDIaxxaxxaDJaDKaxKaDLaxKayQamwayRacAaeUapTapTapTapTapTaDMaDNaDOaDPaDQaDRaDRaDRaDSayZaDTayZaDUaDVaDWaBdaBeaApallallallallallallallallallallallallallaDXallallallallawTaBtaDYaDZaEaaDZaEbaEcaEdaEdaEeaEfaEfaEfaEfaEfaEgaEhaEiaEiaEiaEiaEiaEiaBDaEjaEkaElaBDaBDaBDaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaekaCXaOualQaCZaDaaDbaDcaDdaDealQaDgaDfavMaBGaDhaAvaDiaDjaDkaDlaDmaDnayuaDoazEazEazEazEaDpaDqbRJaDsaDtaDuaBYaBYaBYaBYaBYaBYaBYaAEaaaazNaDvaDwaDxaDyaDzazNaaaaxoaxuaxvaDAaDBaDCaDDaDEaxvapNaDFaxxaxxaDGaATaDHaATaDIaxxaxxaDJaDKaxKaDLaxKayQamwayRacAaeUapTapTapTapTapTaDMaDNaDOaDPaDQaDRaDRaDRaDSayZaDTayZaDUaDVaDWaBdaBeaApallallallallallallallallallallallallallaDXallallallallawTaBtaDYaDZaEaaDZaEbaEcaEdaEdaEeaEfaEfaEfaEfaEfaEgaEhaEiaEiaEiaEiaEiaEiaBDaEjaEkaElaBDaBDaBDaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaEmaEmaEnalQaEoalQaEoalQaEoalQaEoalQaDgaEpavMaBGaEqaAvaEraEsaEtaEuaEvaEwayuaExazEaEyaEzaEzaEAaEBaECaEDaEEaEFaEGaEGaEGaEGaEGaEHaEIaAEaafazNaEJaDwaEKaELaEMazNaafaxoaENaEOaEPaEQaDCaERaESaETaEUaEVaxKaEWaEXaDJaDJaDJaEYaEZaxKaFaaFaaxKaDJaxKaFbaoeaFcacAaeUaeUaeUaeUaeUamXawvaFdaFeaFfaFgaFeaFhaFeaFiaFeaFjayZaFkaFlaFmaBdaFnaFoaFpaFqaFraFsaFtaFuaFuaFuaFuaFvaFwaFuaFuaFxaFyaFzaFAaBpaFBaFCaFDaFEaFFaFEaFGaFHaEfaEfaFIaEfaFJaFKaFLaEfaEiaFMaEiaFNaFOaFPaFQaFRaFSaFTaFUaFVaFWaFXaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQalQaGaalQaEoalQaEoaGbaEoalQaEoalQaDgaEpavMaBGaGcaAvaAvaGdaGeaGfaGgaAvayuayuayuayuaGhazEazEaGiayuaGjaGkaBYaBYaBYaGlaBYaBYaBYaGmaAEaaaazNazNaGnaGoaGnazNazNaaaaxoaxuaxvaGpaGqaGraGsaGtaxvapNaGuaxKaGvaEXaDJaDJaDJaEYaGwaxKaAgaAgaxKaCsaxKaGxaGyaGzacAamXacAacAacAacAacAaGAaGBayZaGCaAmayZaGDayZaGEayZaGFayZaGGaGHaFmaBdaGIaGJaGKaGLaGMaGMaGNaGMaGMaGOaGMaGPaGQauwauwauwauwaGRaGSaGTaGUaGVamlaGWaGWaGWaGWaGXaEfaGYaGZaHaaHbaHcaHdaEfaHeaHfaEiaHgaHhaHiaHjaFRaHkaEjaEkaCTaHlaHmaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaHnaHnaHoalQaEoalQaEoalQaEoalQaEoalQaDgaEpavMaHpaHqaHraHsaHsaHtaHuaxaaHvaHwaHxaHyayuaHzazEazEaHAayuaHBaHCaBYaHDaHEaOwaHGaHHaHIaHJaAEaaaaafaaaaHKaHLaHKaaaaafaaaaxoaxuaxvaDCaHMaHNaHOaHPaxvapNasJaxKaHQaHRaDJaDJaDJaHSaHTaxKaaaaaaaHUaHVaHWaHXaHYaHZaIaaIbaHUaaaaaaaIcaIdaIeaIfayZaIgaAmaAmaAmaCxaAmaAmaAmayZaBdaIhaIiaBdaBdaApaIjaIkaIkaIlaImaInaIkaIoaIkaIpaIqaIpaIraIpaIsaGWaGWaItaGWaGWaGWaGWaIuaIvaGWaGXaEfaGZaIwaIxaIyaIzaIAaEfaIBaICaIDaIEaIFaIGaIHaIIaIJaBAaIKaFVaFWaILaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6551,7 +6584,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanTaekaJXaekaeZaeZaeZaeZaekaBEaJYafOaqpaJZaxaaKaaKbaKbaKcaKbaKdarpaKeaKfaxaaKgaKhaKiaKiaKjaKiaKkaKlaKiaKiaKiaKiaKiaKiaKiaKmaKnaKoaKpaKqaKqaKraKsaKqaKqaKqaKtaKuaKvaKraKqaKqaKqaKwaGyaKxaHYaKyaKzaHZaIaaIaaIaaHXaHYaHYaKAaHYaKBaKCaKDaKEaKFaKGaKHaKIaHYaHYaKAaKJaKKaKLaKMaKNaKOaKPaKQaHYaKRaHYaBdaKSaKTaKUaJoaKVaKWaKXaKYaKZaLaaIkaLbaLcaLdaLeaLfaIpaLgaJzaLhaLiaIpaGWaLjaLkaLlaLmaLnaLoaLpaLqaLraGWaGXaEfaLsaLtaLuaLvaLwaLxaEfaLyaLzaEiaLAaLAaLAaLAaEiaLBaCRaJWaCTaBDaBDaBDaLCaLCaLCaLDaLDaLDaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaylavMavMavMavMavMavMaylavMaaaaqpaAuaLEaKaaLFaLGaLHaLHaLIarpaLJaKfaLKaLLaKhaLMaLNaLOaLPaLQaLRaKiaKiaKiaKiaKiaKiaKiaKmaKiaKhaKiaKiaKiaLSaLTaLUaLUaLUaLUaLVaLUaLWaLUaLUaLXaKhaGyaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaKAaHYaLYaLZaMaaMbaMcaMdaMeaMfaHYaHYaKAaHYaHYaHYaHYaHYaHYaHYaHYaHYaMgaHYaBdaKUaKUaKUaMhaMiaMjaMkaMlaMmaMnaIkaMoaImaMpaIkaIkaIpaMqaJzaMraLiaMsaIpaGWaGWaGWaGWaGWaGWaMtaMuaMvaGWaGXaEfaMwaGZaMxaMyaGZaMzaEfaEiaEiaEiaEiaEiaEiaMAaEiaEjaOxaEkaCTaMCaMDaBDaMEaMFaMGaMHaMIaLDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaztaqpavMatBavMaNTaNUaNVaNWavMatBavMavMaqpaBGaxaaKaaMJaMKaLHaLHaLIarpaMLaKfaxaaLLaKhaKiaMMaMNaMNaMNaMOaMPaMQaMNaMRaMNaMNaMNaMSaMNaMTaMNaMNaMNaMUaMVaMWaMXaMXaMYaMZaNaaNbaNcaKiaNdaKhaGyaHYaNeaHYaNfaNfaNfaNfaNfaNfaNfaNfaNgaNfaNfaNfaNfaNfaNfaNfaNfaNfaNfaNfaNhaNfaNfaNfaNfaNfaNfaNfaNfaHYaHYaHYaBdaNiaNiaNiaNiaNiaNjaNkaJsaKZaNlaIkaNmaNnaNoaIkaNpaIpaNqaNraNsaLiaNtaIpaGWaNuaNvaNwaNxaNwaNyaNzaNAaGWaGXaEfaNBaNBaNCaNDaNEaNEbqoaEfaNGaNHaNIaBDaNJaNKaNLaEjaEjaNMaNNaBDaNOaBDaNPaNQaNRaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafarpavMaylavMaBGaxaaxaaMBavMaylavMaNXaNYaNZaxaaKaaOaaOaaKcaOaaKdarpaObaKfaxaaOcaOcaOcaOdaOcaOeaOeaOeaOeaOeaOfaOgaOeaOhaOeaOeaOeaOiaOjaOkaOjaOlaOmaOnaKiaKiaOoaOpaOqaOraKlaKiaNdaOsaOsaHYaHYaHZaHUaHUaHUaHUaHUaHUaHUaHUaOtaOzaOyaRfaOyaOyaOybfPaOybfTaOybiEaOtaHUaHUaHUaHUaHUaHUaHUaHUaHXaHYaHYaIkaOAaOBaOCaOCaOCaOCaOCaJsaODaOCaIkaOEaOFaOGaIpaIpaIpaOHaOIaIpaIpaIpaIpaGWaNwaOJaOKaOKaOKaOLaOMaNwaGWaGXaEfaONaGZaNCaNDaGZaGZaOOaEfaOPaOQaORaBDaEjaOSaOTaOUaOUaOVaOWaOXaOYaBDaOZaPaaNRaPbaNRaPcaPdaPdaPcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafarpavMaylavMaBGaxaaxaaMBavMaylavMaNXaNYaNZaxaaKaaOaaOaaKcaOaaKdarpaObaKfaxaaOcaOcaOcaOdaOcaOeaOeaOeaOeaOeaOfaOgaOeaOhaOeaOeaOeaOiaOjaOkaOjaOlaOmaOnaKiaKiaOoaOpaOqaOraKlaKiaNdaOsaOsaHYaHYaHZaHUaHUaHUaHUaHUaHUaHUaHUaOtbUPbUObUQbUObUObUObVMbUObWHbUObXtaOtaHUaHUaHUaHUaHUaHUaHUaHUaHXaHYaHYaIkaOAaOBaOCaOCaOCaOCaOCaJsaODaOCaIkaOEaOFaOGaIpaIpaIpaOHaOIaIpaIpaIpaIpaGWaNwaOJaOKaOKaOKaOLaOMaNwaGWaGXaEfaONaGZaNCaNDaGZaGZaOOaEfaOPaOQaORaBDaEjaOSaOTaOUaOUaOVaOWaOXaOYaBDaOZaPaaNRaPbaNRaPcaPdaPdaPcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaPeaxaavNaNZaxaaxaaPfavNaxaaPeaNZaxaaxaaxaaPgaPhaPhaPhaPhaPhaPhaPhaPiaxaaOcaPjaOcaPkaOeaPlaPmaPnaPoaPpaPmaPqaPraPsaPtaPuaPvaOiaPwaPxaPyaOlaPzaOnaOnaPAaOnaOnaOsaPBaPCaPDaPEaOsaOsaPFaHYaHZaHUaaaaaaaaaaaaaaaaaaaaaaOtaPGaPHaPIaPJaPKaPLaPMaPNaPOaPPaPQaOtaaaaaaaaaaaaaaaaaaaaaaHUaHXaHYaPRaIkaPSaOCaOCaOCaOCaOCaPTaJsaODaPUaPVaJsaPWaPXaIpaPYaPZaQaaQbaQcaQdaQeaQfaIpaNwaQgaQhaQhaQhaQiaQjaNwaGWaQkaEfaQlaQlaNCaNDaQmaQmaQnaEfaEfaQoaEfaBDaQpaNKaNLaQqaQqaNMaNNaBDaBDaBDaLDaQraQsaQtaLDaLDaLDaLDaQuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaavMaQvaQwaQwaQwaQwaQwaQwaQwaQwaQvaQwaQxaxaaxaaLLaxaaQyaQzaxaaQAaQBaxaaQCaQDaOcaQEaOcaPkaOeaQFaPmaQGaPmaPmaPmaPqaQHaPmaPmaPmaPvaOiaQIaPxaPxaOlaPzaOnaQJaQKaQKaQLaOsaQMaQNaQOaQPaQQaQRaHYaHYaHZaHUaaaaaaaaaaaaaOtaOtaOtaOtaQSaQTaQUaQVaQWaQXaQYaQZaRaaRbaRcaOtaOtaOtaOtaaaaaaaaaaaaaHUaHXaHYaHYaRdaOCaRebkdaRgaRgaRhaRiaRjaRkaRlaRmaRnaRoaRpaRqaRraRraRsaRtaRuaRuaRvaRraRwaRxaRyaRzaRAaRBaRCaQjaNwaGWaGXaEfaGZaGZaNCaNDaGZaGZaGZaRDaREaGZbqpaBDaRGaRHaRIaQqaQqaRJaRKaRLaBDaRMaRNaPaaNRaROaNRaRPaPdaPdaRQaRRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaqpaqpavMavMavMavMavMavMavMavMaqpaqparpaLLaRSaRTaRTaRUaRTaRTaRTaRVaRTaRTaRTaOcaQEaRWaRXaOeaRYaPmaRZaSaaSbaScaSdaSaaPmaPmaPmaSeaOiaSfaSgaShaOlaPzaOnaSiaSjaSkaSlaOsaSmaSnaSoaSpaSqaQRaHYaHYaHZaHUaHUaIcaSraOtaOtaSsaStaSuaSvaSwaSxaSyaSzaSxaSAaSxaSxaSBaSCaSDaSEaSFaOtaOtaSraIcaHUaHUaHXaHYaHYaIkaSGaJsaOCaOCaOCaOCaSHaOCaSIaSJaSKaSLaSMaSNaSOaSPaSQaSRaSSaSTaSUaSVaSPaSWaSXaSYaSZaTaaTbaSZaTcaTdaGWaGXaEfaTeaTeaNCaNDaTfaGZaGZaTgaGZaThaTiaBDaTjaTkaTlaQqaQqaTmaTnaEjaBDaToaNRaPaaNRaROaTpaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6560,9 +6593,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWraWsatBaWsaxaaxaaRTaWtaWuaWvaWvaWvaWwaWxaWyaRTaWzaQEaUQaWAaWAaWAaWBaWCaWAaWDaWEaWFaWGaWHaWHaWIaWJaOeaWKaWLaWMaWNaWOaWPaWPaWQaWRaWRaWSaWSaWSaWSaWSaWTaOsaHYaHYaWUaWVaWWaWXaWYaWZaOtaXaaXbaXcaXdaXeaXfaXfaXgaXhaXiaXjaXkaXlaXmaXcaXnaXaaOtaWZaWYaXoaXpaWVaXqaHYaHYaRdaOCaXraXsaOCaOCaOCaXsaOCaODaOCaPUaPUaOCaOCaXtaXuaXvaUeaUeaUeaUeaXwaXxaIpaXyaXzaQhaXAaXBaXCaXzaXDaGWaXEaXFaXFaXGaXHaXIaXJaXKaXLaXJaXJaXJaXMaXNaXOaXPaXPaXPaXPaXPaXQaXRaXNaXSaXTaXUaXVaNRaXWaLDaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMavMavMaBGaxaaXXaTraXYaWvaWvaWvaXZaYaaTraRTaYbaYcaUQaWAaYdaYeaYfaYgaWAaYhaYiaYjaOeaYkaYlaYmaRZaOeaYnaYoaYpaYpaYpaYpaYqaYpaYpaYraYsaYsaYsaYtaYsaYuaYvaKAaKAaYwaYxaYxaYxaYxaYxaYxaYyaYzaYAaYBaXgaYCaYDaYDaYEaYFaYDaYCaXiaYGaYHaYIaYJaYHaYHaYHaYHaYHaYHaYKaKAaKAaIkaYLaYMaYNaYOaOCaOCaOCaYPaYQaYRaOCaYSaYTaYUaIpaIpaIpaYVaYWaYWaYWaIpaIpaIpaYXaQhaQhaYYaYZaZaaZbaYYaGWaZcaXFaZdaEfaZeaZfaZgaZhaZiaZjaTgaUuaZkaBDaZlaEjaZmaQqaQqaZmaEjaZnaBDaZoaZpaZqaROaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaZraNZaZsaRTaTtaZtaTtaTraZuaZvaZwaTtaRTaZxaZyaZzaWAaWAaWAaZAaZBaWAaZCaZDaZEaOeaYkaYlaYmaRZaOeaYnaYoaYpaZFaZGaZGaZGaZHaYpaZIaZJaZKaZLaYvaYvaYvaYvaHYaHYaZMaZNaZOaZPaZQaZRaZSaZTaZUaZVaZWaZXaYDaYDaZYaZZaZYaYDaYDbaababbacbadbaebafbagbahbaibajaYHaXqaHYaHYaIkaIkaIkaIkaIkbakaRdbakbalbamaIkaIkaIkaIkaIkbanbaobaobaobaobaobaobapbaobanaYYbaqbaqaYYbaraXFaXFaXFbanaZcaXFaZdaEfaEfaEfbasbatbasaEfbasaEfaEfaBDaBDbaubaubaubaubaubauaBDaBDbavaNRbawaROaNRaNRaRQaPdaPdaRQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaqpaqpavMavMavMavMavMavMavMavMaqpaqparpaQyaxaaRTaRTaRUaRTaRTaRTaRVaRTaRTaRTbaxbaybazaWAbaAbaBaZAbaCaWAbaDbaEbaDaOeaYkaYlaYmaRZaOeaYnaYoaYpaZGbaFbaFaZGbaFaYpaZIbaGbaHbaHbaIbaJbaKaYvbaLaHYaWUbaMbaNbaObaPbaQbaQbaRbaSbaTaZWbaUaYDaYDaZYbaVaZYaYDaYDbaWbabbaXbaYbaZbbabbbbbcbajbbdaYHaXqbbeaHYaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbbgaXFaXFaXFaXFbbhaXFaXFaXFaXFaXFaXFaXFaXFbbfaXFaXFaXFaXFbaraXFaXFaXFbbibbjaXFaXFbbkaXFaXFaXFbblaXFaXFaXFaXFaXFbbhbbmaXFaXFaXFaXFaXFaXFbbfbbnaRNaNRbbobbpbbqbbraLDaLDaLDaQuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMavQavPavPavPavPavPavPavPavPavQavPbbsbbtaxabbuaRWbbvaWPaWPaWPbbwbbxbbyaOcbbzbbAbbBaWAaWAaWAbbCbbDaWAaOeaOeaOeaOeaYkaYlbbEbbFaOeaYnaYoaYpaZGbbGaZGbaFbbHaYpaZIbbIbaHbaHbaHbbJbbKaYvbbLaHYaWUbaMbbMbaObbNbbObbPbbQbbRbbSaZWbbTaZYaYDbbUbbVbbUaYDaZYbbWbabbbXbbYbbZbcabcbbbcbajbajaYHbccaHYaHYaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbcdaXFaXFaXFaXFaXFaXFbcebcfbcfbcfbcgaXFaXFbbfaXFaXFaXFaXFbaraXFaXFbchaWbbciaWbaWbaWbaWbaWbaWbbcjaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbbckbclbcmbcnbcnbcoaROaNRaNRbcpaPdaPdbcpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavMawZaxaawZaxbaxaaxaaxcawZaxaawZaxbaxabcqaHqbcrbcsbctbcrbcrbcrbcubcvaOcaOcaOcbcwaUQaWAaYdbcxbcybczaWAbcAbcBbcAaOeaOeaOebcCbcDaOcaYnaYoaYpbcEaZGbaFbcFbcGaYpaZIaYvbcHbaHbaHbcIbcJbcKbcLaHYaWUbaMbcMbaObbNbcNbcObcPbaSbaOaZWbcQbcRaYDbcSbcTbcUaYDbcVbcWbabbcXbcYbcZbdabdabdbbajbdcaYHbddbdeaHYaGybbfaXFaXFbdfaXFbdgbdhbdhbdhbdibdhbdhbdhbdjaXFaXFaXFaXFaXFaXFbdkbdlbdmbbfaXFaXFaXFaXFbarbdnbdobdpbdqbdraXFaXFaXFaXFaXFbdsbdtaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFbbfbdubdvbdwbdxaROaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaqpaqpavMavMavMavMavMavMavMavMaqpaqparpaQyaxaaRTaRTaRUaRTaRTaRTaRVaRTaRTaRTbaxbaybazaWAbaAbaBaZAbaCaWAbaDbaEbaDaOeaYkaYlaYmaRZaOeaYnaYoaYpaZGbaFbaFaZGbaFaYpaZIbaGbaHbaHbaIbaJbaKaYvbaLaHYaWUbXubaNbaObaPbaQbaQbaRbaSbaTaZWbaUaYDaYDaZYbaVaZYaYDaYDbaWbabbaXbaYbaZbbabbbbbcbajbbdaYHaXqbbeaHYaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbbgaXFaXFaXFaXFbbhaXFaXFaXFaXFaXFaXFaXFaXFbbfaXFaXFaXFaXFbaraXFaXFaXFbbibbjaXFaXFbbkaXFaXFaXFbblaXFaXFaXFaXFaXFbbhbbmaXFaXFaXFaXFaXFaXFbbfbbnaRNaNRbbobbpbbqbbraLDaLDaLDaQuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMavQavPavPavPavPavPavPavPavPavQavPbbsbbtaxabbuaRWbbvaWPaWPaWPbbwbbxbbyaOcbbzbbAbbBaWAaWAaWAbbCbbDaWAaOeaOeaOeaOeaYkaYlbbEbbFaOeaYnaYoaYpaZGbbGaZGbaFbbHaYpaZIbbIbaHbaHbaHbbJbbKaYvbbLaHYaWUbXvbbMbaObbNbbObbPbbQbbRbbSaZWbbTaZYaYDbbUbbVbbUaYDaZYbbWbabbbXbbYbbZbcabcbbbcbajbajaYHbccaHYaHYaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbcdaXFaXFaXFaXFaXFaXFbcebcfbcfbcfbcgaXFaXFbbfaXFaXFaXFaXFbaraXFaXFbchaWbbciaWbaWbaWbaWbaWbaWbbcjaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbbckbclbcmbcnbcnbcoaROaNRaNRbcpaPdaPdbcpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavMawZaxaawZaxbaxaaxaaxcawZaxaawZaxbaxabcqaHqbcrbcsbctbcrbcrbcrbcubcvaOcaOcaOcbcwaUQaWAaYdbcxbcybczaWAbcAbcBbcAaOeaOeaOebcCbcDaOcaYnaYoaYpbcEaZGbaFbcFbcGaYpaZIaYvbcHbaHbaHbcIbcJbcKbcLaHYaWUbXvbcMbaObbNbcNbcObcPbaSbaOaZWbcQbcRaYDbcSbcTbcUaYDbcVbcWbabbcXbcYbcZbdabdabdbbajbdcaYHbddbdeaHYaGybbfaXFaXFbdfaXFbdgbdhbdhbdhbdibdhbdhbdhbdjaXFaXFaXFaXFaXFaXFbdkbdlbdmbbfaXFaXFaXFaXFbarbdnbdobdpbdqbdraXFaXFaXFaXFaXFbdsbdtaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFbbfbdubdvbdwbdxaROaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarpavMbdyavMaBGaxaaxabdzavMbdAavMayqbdBbdCbdCbdDbdEbdFbdGbdHbdIbdJbdKbdLbdMbdMbdNbdOaWAaWAaWAbdPbdQaWAaOcaOcaOcaOcbdRaVbbdSbdTaVbbdUaYoaYpbdVaZGaZGbdWbdXaYpbdYaYvbdZbaHbaHbeabebbecbedaHYaWUaYxbaObeebaPbaPbefbaRbaSbegbehaXfbeibejbekbekbekbelbemaXkbenbeobepbeqberbajbesbajbetaYHaXqaHYaHYbeubeubeubeubeubeubeubevbewbewbexbeybeybevbezbezbezbezbezbeAbeAbeBbeCbeAbeAbeAbeAbeDaXFbeEbeFbeGbeHbeIaXFaXFaXFbeJbeJbeKbeKbeKbeKbeKbeLbeMbeMbeMbeNbeMbeObePbeMbeMbeQbeRbeRbeRbeRbeSbeTbeUbeVaLDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaztaqpazuatBavMaymaynbeWbeXavMatBazuavMaqpaztarpbdDbeYbeZbeZbeZbfabdJbfbbfcbfdbfdbfebffaWAaYdbfgbdPbfhaWAbfibfiaQEaQEbfjbfkbflbfmbflbflbfnaYpbfobfpaZGaZGbdXbfqbfraYvbfsbaHbaHbeabftbfubedaHYbfvaYxbfwaYAbfxbfybfzbfAbaSbfBaYxaafbfCbfDbfDbfDbfEbfFbfGaafaYHbfHbfIbfJbfKbajbfLbajbfMaYHaXqaHYbfNbeubfObotbfQbfRbfSbeubqnbfUbfVbfWbfXbfXbfXbfYbfZbgabgbbezbgcbgdbgebgdbgdbgfbggbeAbeGbghbeGbeGbeGbgibeIbeIbgjbeIbgkbgkbeKbglbgmbgnbeKbgobgpbgobeKbgqbgrbgqbeRbgsbgtbgsbeRbgubgvbeRbgwbgxaLDaLDaLDaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafavMbdyavMavMavMavMavMavMbdAavMaafaafaafaaabdDbgybdDbgzbeZbgAbgBbcraVbbgCbgDbgEbgFbgGbgGbgGbgGbgGbgGbgHbgIbgJbfdbgKbgLaYpaYpaYpaYpaYpaYpbgMaYpaYpaYpbgNbgObgPbgQbgRbaHbaHbeabgSbecbedaHYbgTaYxbgUaYAaYAaYAaYAbfAbaSbgVaYxaafbfCbfDbgWbgXbgYbfDbgZaafaYHbhabbYbhbbhcbajbesbajbajaYHaXqaHYaHYbeubqqbhebhfbhgbhhbhibfXbhjbfXbhkbfXbfXbhlbfYbhmbhnbhobezbhpbgdbhqbgdbhpbhrbgdbeAbhsbhtbhubhvbeGbhwbeIbhxbhybhzbhAbhAbeKbhBbhCbhDbhEbhFbhGbhHbeKbhIbhJbhKbeRbhLbhMbhLbhNbhObhObeRbhPbgxaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6581,7 +6614,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwkbyBbyCbyDbyEbyFbyGbyHbyIbyJbyKbyLbyMbyNbyObxxbyPbuQbsnbyQaHYaHYaHYaHYaHYaHYaKAaHYbqHaHYaHYaHYaHYaHYbyRbySbyTaHYaHYaHYaHYaHYaHYaHYaKAbyUaHYaHYaHYaHYbvhbyVbyWbtSbyXbyYbyZbyYbzabtXbzbbvpbvqbzcbtXbzdbzebzfbzgbzhbtXbhkbjZbsPbsPbsPbsPbsPbncbncbncbncbncbncbzibgibzjbwTbzkbzlbzmbznbzobzpbwTbzqbzrbzsbztbzubwYbyqbzvbzwbzxbzybzzbzzbzzbzAbzBbxhchfchfctEctDchfchfchfbrVbtnbgxbsdbsebjobjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibzEbzFbzGbzHbzIbzJbwkbxrbxrbzKbzLbuRbzMbzNbzObzPbuQbzQbzRbzSbzSbzSbzTbzSbzSbzUbzSbzVaHYbzWbzXbzYbzYbzZbAabAbbAcbAdbAeaVLaVLbAfaVLbAgbAhaVLbAibAjbAkbAlaHYaHYbtXbAmbAnbAobtWbApbtXbtWbAqbArbtXbtXbtXbtXbtXbtXbtXbtXbhkbjZbfXbAsbAtbAubAvbAwbAxbAybAzbAAbAwbzibgibABbwTbACbADbAEbAFbAGbAHbwTbAIbAJbAKbALbAMbwYbyqbANbAObuybAPbAQbARbASbATbAUbxhchfchfchfbGLchfchfchfbrVbtnbqtbAWbqvbqwbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibwibwkbwkbwkbwkbwibwibAXbAYbAZbBabuQbuQbuQbuQbuQbuQbBbbBcaIcaIcaIcaIcbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbBebBfbBgbBhbBhbBhbBhbBhbBibBhbBhbBjbBhbyebBkbyeaIdaJlbBlbtXbBmbBnbBobBpbBqbtXbBrbxQbBsbBtbBubBvbBwbBxbBybBzbBAbBBbBCbBDbBDbBEbBFbBGbBHbBIbBJbBKbBLbAwbzibgibBMbBMbBMbBMbBMbBMbBMbBMbBMbBNbBNbBNbBNbBNbBNbBObBPbBQbuybuybuybuybuybuybuybxhbrVbrVbrVbrVbrVbrVbrVbrVbtnbgxbBRbBSbjobjoaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTaaaaaaaaaaafaaaaaabwlbBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfaaaaaaaafaaabBdbCgbChbCibCjbCkbClbCmbCnbCobCpbCqbCrbBhbCsbCtbCubCvbCwbCvbCvbCxbCybCzbCAbyebyebyebyebtXbCBbCCbCDbCCbCEbtXbCFbvpbCGbCHbCIbCJbCIbCIbCKbCLbCMbCNbCObCObCObCPbCQbvlbCRbCSbCTbCUbCVbAwbzibgibBMbCWbCWbCWbCXbCWbCWbCWbBMbCYbCYbCZbCYbCYbBNbDabDbbqibDcbDdbDebDfbDgbDhbJqbDjbDkbDlbDmbDnbDobDpbDqbDqbDrbDsbDdbDdbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTaaaaaaaaaaafaaaaaabwlbBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfaaaaaaaafaaabBdbCgbChbCibCjbCkbClbCmbCnbCobCpbCqbCrbBhbCsbCtcuzbCubCwbCvbCvbCxbCybCzbCAbyebyebyebyebtXbCBbCCbCDbCCbCEbtXbCFbvpbCGbCHbCIbCJbCIbCIbCKbCLbCMbCNbCObCObCObCPbCQbvlbCRbCSbCTbCUbCVbAwbzibgibBMbCWbCWbCWbCXbCWbCWbCWbBMbCYbCYbCZbCYbCYbBNbDabDbbqibDcbDdbDebDfbDgbDhbJqbDjbDkbDlbDmbDnbDobDpbDqbDqbDrbDsbDdbDdbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaeZaekaelaaaaafaaabwlbwlbDtbxrbDubDvbDwbDxbDybDybDzbDAbDBbDCaafbDDbDEbDFbDGbDHbDIbDJbDIbDKbDIbDIbDIbBdbDLbDMbDNbBhbDObDPbDQbDRbDSbCvbDTbBjbBhbDUbDVbDWbDXbDYbDZbEabEbbCCbEcbCCbxQbEdbEebEfbEgbtXbEhbEibCCbCCbEjbEkbmSbmSbmSbmSbmSbElbEmbpGbEnbEobEpbBKbEqbAwbzibgibBMbCWbCWbCWbCWbCWbCWbCWbBMbErbEsbEtbEubEvbBNbEwbExbEybEzbEAbEBbECbEDbEDbEDbEDbEEbEFbEGbDnbjobEHbEIbEJbEJbEKbELbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZbEPbEQbEPajZbERbERbERbwlbESbxrbETbEUbEVbEWbwlbBcbEXbBcbBcbEYbEZaaabFabFbbFcbFdbDIbDIbFebDIbFfbFgbFhbDIbBdbDLbFibFjbBhbFkbFlbFmbFnbFobCvbFpbBjbzibFqbFrbFsbFrbFtbFubtXbFvbCIbFwbCIbFxbtSbFybCJbOnbtXbFAbCCbCCbCCbOCbFCbmSbPIbFEbFFbFGbBEbFHbvlbFIbBKbBKbFJbFKbFLbFMbFNbBMbCWbCWbCWbCWbCWbCWbCWbBMbFObFPbFQbFRbFSbFTbFUbFVbtbbFWbFXbEDbFYbEDbEDbEDbEDbEDbEDbEDbDnbFZbGabGbbGcbGdbGebGfbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbGgbENbEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQaHnalQaeZbERbGhbGibwlbGjbxrbGkbxrbxrbEWbwlbGlbGmbGnbBcbEYbEZaafbFabGobGpbGqbGrbGsbGrbGrbGtbGubGrbGrbGvbGwbGxbGybBhbGzbBhbBhbBhbBhbGAbGBbGCbGDbGEbGFbGGbGHbGIbGIbtXbGJbGKcltbGMbGNbtXbGObGPbGQbtXbGRbGSbGUbGTbGVbGWbmSbGXbGYbpFbGZbHabHbbHcbCRbHdbBKbBKbHebAwbzibgibBMbBMbHfbCWbCWbHgbHfbBMbBMbHhbHibHjbHkbHlbBNbHmbHnbtbbHobHpbHqbHqbHrbHsbHtbHqbHubHvbHwbHxbHybHzbHAbHBbHCbHDbHEbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObHGbHHbHIbEObHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6590,22 +6623,22 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZamIbJWbJXajZbERbERbERbwlbwlbERbERbERbwlbwlbwlaaaaaaaaabJYbJZbEZaaaaaaaafaaabBdbKabKbbKcbDIbKdbKebKfbKgbKhbKibKjbKkbKlbKmbKnbKobKpbKqbKmbKmbKmbKmbKmbKrbKsbKmbKmbKtbKmbKubKmbKmbKmbKmbKmbyebyebyebyebyebyebyebyebKvbKwbmSbKxbKybKzbKAbKBbKCbKDbKEbKFbKFbKGbKFbKFbKHbKIbBMbKJbKKbKLbKKbKMbKKbKNbKObKPbKQbKRbKSbKTbKUbyqbHnbqibKVaafbKWbKXbKYbKZbLabKZbLbbLcbLdbDnbLebtnbLfbDdbDdbDdbDdbDdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEObLgbIMbIMbIMbLhbEObEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanTaekbLiaekafOaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaafbJYbEYbEZaafaafaafaafbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbLjbLkbLlbLmbKmbKnbKobKpbKqbLnbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbLybLzbLAbLBbLCbLDbLDbLDbLDbLDbLDbLEbyebKvbLFbLGbLGbLGbLGbLGbLHbLIbLJbLGbLGbLGbLGbLGbLGbLFbLKbLLbLMbLNbLObLNbLPbLQbLRbLSbLSbLSbLSbLSbLSbLTbLUbLVbqibKVaafbKWbLWbLWbLXbLYbLZbMabMbbMcbDnbMdbtnbkFbjobMebMfbjoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObMgbMhbMibMjbHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbMlbMlbMmbMnbMobMobMpbMpbMkbDLbMqbKkbMrbKmbMsbMtbMtbMubMvbLnbMwbMxbMybMzbMAbMBbMCbMDbMEbMFbMGbMFbMHbMIbMJaafbMKbMKbMKbMKbMKbMLbyebKvbMMbMNbMObMPbMQbLGbMRbMSbMTbLGbMUbMVbMWbMVbMUbLFbMXbBMbKKbKKbKKbMYbKKbKKbMZbNabNbbNbbNcbNbbNbbNdbNebNfbNgbKVaafbKWbLWbNhbKZbNibKZbNjbNkbNlbDnbsebtnbkFbjobsebsebjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbNmbENbMjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBcbBcbJYbJYbJYbBcbBcaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbNnbMmbMmbMmbMmbMobNobNpbNqbNrbKjbNsbNtbNubNvbNwbNxbNybNzbNAbNwbNwbNwbNybNBbNCbNDbNEbNFbLBbNGbNHbNIbNJbNKbLDbNLbNMbNNbNObMKbMLbNPbKvbLFbNQbMUbMUbMUbLGbNRbNSbNTbLGbMVbNUbMVbNVbNWbNXbNYbBMbNZbOabObbOcbOdbOebOfbOgbOhbOibOjbOkbOlbItbOmcqmbOobOpbOpbDnbDnbDnbDnbDnbDnbDdbDdbDdbDnbsebtnbOqbsebsebOrbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbOsbGnbOtbGnbOubBcaaaaaaaaaaaabJYbJZbEZaaaaafbJYbJYbMkbMmbOvbOwbMmbMmbOxbOybMobOzbDLbMqbOAbOBcqnbODbOEbOFbOGbOHbOIbOFbOJbOFbOKbOLbOMbLubONbOObOPbOQbORbOSbOTbOUaafbOVbOWbNObOXbMKbMLbNPbKvbLFbOYbOZbMUbPabLGbPbbPcbPdbLGbMUbPebPfbMUbMUbLFbKvbBMbItbItbItbItbJHbPgbPhbPibJHbItbItbItbItbItbPjbPkbPlbPmbPnbPobPpbPqbPpbPrbOpbPsbPtbPubPvbPwbtnbkFbjobjobjobjoabtaafaafaafaagaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbBcbPxbGnbGnbGnbPybBcaaaaaaaaaaaabJYbEYbEZaaaaafbJYbPzbPAbPBbPCbPDbPDbPDbPDbPDbPEbPFbPGbMqbOAbPHcqobPJbPKbMFbPLbPMbPNbPObPPbPQbPRbPSbPSbPTbPUbLBbPVbPWbPXbPYbPZbQabQbbNLbQcbNObNObMKbMLbNPbKvbLFbQdbMUbQebLHbLGbLGbQfbLGbLGbQgbQhbQibQgbQgbLFbKvbBMbQjbQkbQkbQlbQmbKKbQnbQobQpbQqbCWbCWbCWbItbQrbQsbQtbQubQvbPobQwbQxbQybQzbOmbPtbQAbPtbPvbBRbQBbQCbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbPxbGnbGnbQDbQEbBcaaaaafaaaaaabJYbEYbDCbBcbBcbBcbQFbMkbQGbMmbMmbMmbQHbQIbQJbQKbMkbDLbMqbOAbPHcqnbQLbQMbMFbMFbQNbLnbQObQPbQQbQRbMFbMFbLubQSbQTbQUbQVbQWbQXbQWbQYaafbMKbMKbMKbMKbMKbMLbyebKvbLFbQZbRabRabRbbRcbRdbRebRfbRgbMUbPebMUbMUcqpbLFbKvbBMbCWbCWbCWbRhbRibKKbRjbKKbRkbRlbCWbCWbCWbItbRmbRnbRobRpbRqbRrbRsbRtbRrbRubOpbRvbPtbRwbPvbjobRxbRybjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbRzaafaafaafbBcbBcbBcbBcbBcbBcbBcbBcbBcbBcbRAbBcbBcbBcbJYbJYbJYbRBbRCbRDbREbRFbRGbRCbRHbPFbPFbPFbPFbPFbPFbPFbPFbPFbRIbRJbRKbOAbRLbKmbRMbRNbPNbRObPNbLnbMFbMFbMFbQRbRPbRQbRQbRRbRSbRTbNGbRUbRVbRWbNKbLDbNLbRXbRYbRYbMKbMLbyebKvbRZbSabSabSabSbbScbMUbSdbMUbMUbMUbPebMUbMUbMUbLFbKvbBMbCWbCWbCWbSebSfbQobSgbKKbShbSibQkbQkbSjbItbSkbSlbPlbSmbSnbPobQybSobRrbSpbOpbSqbSqbSqbPvbSrbSsbRybjoaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabStbSubSubSubSubSvbSwbSwbSxbSybSzbSAbSBbSCbSDbSEbBcbGnbGnbGnbGnbGnbGnbGnbSFbSGbSHbSIbSJbSKbSKbSKbSKbSLbSMbSMbSMbSNbSMbSObDybDybSPbDCbDLbMqbOAbSQbSRbSSbSTbRQbRQbSUbSVbRQbRQbSWbSXbSYbMFbSZbTabTbbTcbMFbTdbTebTfbOUaafbOVbTgbThbTibMKbMLbNPbTjbTkbTkbTkbTlbLFbTmbQZbTnbTobTpbTqbTrbTsbTsbTtbLFbKvbBMbItbItbItbItbTubTvbRjbTwbTubItbItbItbItbItbTxbTybTzbTAbTBbTCbTCbTCbTCbTDbOmbSqbSqbTEbPvbTFbSsbRybjobjobjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaaaaafaaaaaabTGbTGbJYbGnbTHbTIbTJbTKbTLbBcbTMbJYbJYbJYbJYbJYbJYbJYbJYbDCbTNbTObTObTObTObTObTObTObTObTPbTPbTPbTPbTPbTQbTRbDCbDLbMqbOAbSQbTSbTTbTUbTVbPSbTWbTXbPSbPSbTYbTZbUabUbbUcbUdbUebUfbMFbTdbUgbUhbQabQbbNLbUibRYbRYbMKbMLbNPbUjbyebyebyebNYbLFbUkbMUbMUbUlbUmbUnbUobUpbUobUnbLFbKvbBMbQjbQkbQkbUqbQmbKKbQnbQobUrbUsbCWbCWbCWbItbUtbUubUvbUwbRnbRpbUxbUybUzbUAbOpbSqbSqbSqbPvbTFbSsbRybsebsebjoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaagaagaagaagbUBbUCbUDbGnbUEbTIbTIbUFbGnbBcbGnbJYaaaaaaaafaaaaaaaafaaabDCbTNbTObUGbUHbUIbUJbUKbULbUGbUMbUNbUObUPbTPbTPbTRbDCbUQbMqbOAbURbUSbUTbUTbUUbKmbKmbKmbKmbKmbUVbUWbLnbLnbLnbUXbMFbTbbMFbTdbTebUYbOUaafbMKbMKbMKbMKbMKbMLbNPbUjbyebUZbzibNYbMMbVabVbbVcbVdbVebVfbVgbUpbVgbVhbLFbKvbBMbCWbVibCWbVjbRibKKbRjbKKbRkbVkbCWbVibCWbItbVlbVmbVnbVobVpbVqbVrbVsbVtbVubOmbVvbVwbVxbPvbSqbSsbVybjobsebjobjobjoaagaagaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbTGbTGbJYbVzbVAbVBbVCbVDbGnbVEbGnbJYaaaaaaaafaaaaaaaafaaabDCbTNbTObUGbVFbVGbVHbVIbVJbUGbVKbVLbVMbVNbVObTPbTRbDCbDLbMqbOAbVPbVQbKmbVRbVSbKmbVTbVUbVVbKmbVWbQRbVXbLnbVYbUfbMFbUdbVZbWabRVbWbbNKbLDbNLbWcbWdbWebMKbMLbyebUjbyebABbzibNYbLFbWfbWgbWhbWibUmbWgbWjbUpbWjbNVbNXbKvbBMbCWbCWbCWbWkbWlbQobSgbKKbShbWmbQkbQkbSjbBMbPvbWnbWobWobPvbPvbWpbWqbWrbWsbWtbWubTCbWvbSqbSqbSsbRybjobWwbjobWxbjoaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbJYbWybWzbWzbWAbTLbWBbBcbJYbJYaaaaaaaaaaaaaaaaaaaaabDCbTNbTObWCbWDbWEbVHbWFbWCbWCbVKbWGbWHbVNbWIbTPbTRbDCbDLbMqbWJbWKbWKbWLbWMbWNbWObWPbWQbWRbKmbMFbQRbWSbWTbVYbWUbMFbUdbVZbTdbTebWVbOUaafbOVbWWbWXbWYbMKbMLbyebUjbyebGHbGHbNYbLFbLGbWZbXabLGbXbbLGbLGbLGbLGbLGbLFbKvbBMbItbItbItbItbTubXcbRjbXdbTubItbItbItbItbBMbRrbXebRrbRrbRrbPvbWpbWqbXfbXgbXhbXibUwbXjbPvbSqbSsbRybjobsebsebsebXkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafabtabtabtbBcbBcbBcbVEbBcbBcbBcbBcaafaaaaaabXlaaaaaaaaaaaaaaabEZbTNbTObWCbWCbXmbXnbXobWCbXpbXqbXrbXsbXtbXsbTPbTRbXubXvbXwbCrbWKbXxbXybXybXzbXAbXBbXCbXDbKmbXEbXFbVXbLnbVYbXGbMFbXHbVZbTdbXIbXJbQabQbbNLbXKbWdbWdbMKbMLbNPbUjbyebXLbzibNYbXMbSabSabXNbLGbXObXPbXQbLHbXRbXSbKwbKvbBMbQjbQkbQkbXTbQmbKKbQnbQobXUbXVbCWbCWbCWbBMbXWbRrbRrbRrbRrbPvbXXbXXbXYbXZbOpbOpbUwbOpbPvbOpbSsbRybjobYabYbbYcbXkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabqabfabfabfabfabfaaaaaabBcbGnbGnbGnbGnbGnbGnbGnbGnbWBbJYaafaaaaaaaafaaIbYdaaaaaaaaabEZbTNbTObYebYfbYgbYhbYibYjbYkbYlbYmbYnbVNbYobTPbYpbYqbYrbYsbGybWKbYtbXybYubYvbYwbYxbYybYzbYAbNFbYBbLnbLnbLnbYCbMFbYDbYEbTdbTebMFbOUaafbMKbMKbMKbMKbMKbMLbNPbUjbyebYFbzibYGbYHbTkbYIbYJbLHbYKbYLbYMbLHbYNbKFbYObYPbBMbCWbCWbCWbYQbRibKKbRjbKKbRkbYRbCWbCWbCWbBMbYSbRrbYTbRrbRrbYUbYVbYWbYXbYYbOpbUwbUwbYZbPvbBRbZabZbbjobZcbZdbsebXkaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaaafaaaaafaaaacfaaaaafaaaaafaaaabfaafaafbBcbZebGnbBcbBcbBcbRAbBcbBcbBcbBcaaaaaaaaaaaIbZfbZgaaIaaIaafbEZbTNbTObZhbWCbUGbUGbUGbWCbZibZjbZkbVNbZlbZmbTPbBcbBcbZnbZobZpbWKbWKbZqbXybZrbZsbZtbZsbZubKmbMFbZvbZwbZxbZybONbZzbZAbZBbWabRVbZCbNKbLDbNLbZDbZEbZEbMKbMLbNPbUjbyebyebyebZFbZGbyebZHbZIbyebyebZJbyebyebZIbZKbZLbZMbBMbCWbCWbCWbZNbZObQobZPbKKbShbZQbQkbQkbSjbBMbRrbRrbZRbRrbRrbPvbXXbXXbZSbZTbOpbZUbZVbZWbPvboUbZabRybjobjobjobsebjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaabZXbZYbZZaaabZXbZYbZZaaabZXbZYbZZaaaabfaaaaaabBccaacabbBccacbGnbGncadbOucaebBcaaaaaaaaacafaaIaaIaafaaaaaabEZbTNbTObWCcagcahbUGcaibWCbWCbVKcajbVNbVNcakbTPcalcamcancaocapcaqcarcascatcascatcaucatcavbKmcawcaxcaybPSbPSbPUbRPcazbRUbPVbTecaAbOUaafbOVcaBcaCcaDbMKbMLbyebUjbzicaEcaFbZFcaGbyebZHcaHcaIcaJcaKcaLcaIcaMbZHbgxcaNbBMbBMbBMbBMbBMbBMcaOcaPcaObBMbBMbBMbBMbBMbBMbPvbPvbPvbPvbPvbPvcaQcaQcaRcaSbPvbPvbPvbPvbPvbjobRxbRybjocaTcaUbsebjoaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafbZXcaVbZZaaabZXcaVbZZaaabZXcaVbZZaafaafaaaaaabBcbJYbJYbBcbBccaWcaXbOubGnbQDbBcaaaaaaaaaaaaaafaaaaaaaaaaaabDCbTNbTObUGcaYcaZbUGcbacbbbUGbVKcbcbVMbVNbVNcbdcbebKkbOAcbfcbgcbhcbicbjcbkcblcbmcbnbXycbobKmcbpbMFbZvbRPbRQcbqcbrcbscbtbLAcbucbvbQabQbbNLcbwbZEbZEbMKbMLbyecbxcbycbzcbAcbBcbCbyecbDcbEcbFcbGcbHcbGcbIcbEcbJbgxcbKbjoaaaaaaaaaaafaaaaaacbLaaaaafaaaaaaaaaaaabjocbMbMfbkGcbNcbNbPvcbOcbOcaRbQtcbPcbQbsebsebsebBRbRxbVybjocbRbsebsebjobjobjoaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaabZXcaVbZZaafbZXcaVbZZaafbZXcaVbZZaaaaafaafaafaafaafaafaafbBcbBcbBcbBcbRAbBcbBcaaaaaaaaaaaaaafaaaaaaaafaaabDCbTNbTObUGcbScbTcbUcbVcbWbUGcbXcbYcbZccaccbbTPcccccdcceccfccgcchcciccjcckcclccmccnccoccpccqccrbOQccscctbMFbMFbMFbMHbSYcctbTebUYbOUaafbMKbMKbMKbMKbMKbMLbyebYFccuccvccwccxccybyebyecczccAccBbKwccCccDbyebyebgxcbKbjoaaaaaaaaaaafaaaaaacbLaaaaafaaaaaaaaaaaabjobseccEbqvccFccGbPvccHccHccIbQtbPvbOpbjoccJccKbBRbRxccLccMccMccMccNccOccPccOccQaagaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBcbBcbJYbJYbJYbBcbBcaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbNnbMmbMmbMmbMmbMobYnbNpbNqbNrbKjbNsbNtbNubNvbNwbNxbNybNzbNAbNwbNwbNwbNybNBbNCbNDbNEbNFbLBbNGbNHbNIbNJbNKbLDbNLbNMbNNbNObMKbMLbNPbKvbLFbNQbMUbMUbMUbLGbNRbNSbNTbLGbMVbNUbMVbNVbNWbNXbNYbBMbNZbOabObbOcbOdbOebOfbOgbOhbOibOjbOkbOlbItbOmbZlbOobOpbOpbDnbDnbDnbDnbDnbDnbDdbDdbDdbDnbsebtnbOqbsebsebOrbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbOsbGnbOtbGnbOubBcaaaaaaaaaaaabJYbJZbEZaaaaafbJYbJYbMkbMmbMmbOwbOvbMmbOxbMobMobOzbDLbMqbOAbOBbZmbODbOEbOFbOGbOHbOIbOFbOJbOFbOKbOLbOMbLubONbOObOPbOQbORbOSbOTbOUaafbOVbOWbNObOXbMKbMLbNPbKvbLFbOYbOZbMUbPabLGbPbbPcbPdbLGbMUbPebPfbMUbMUbLFbKvbBMbItbItbItbItbJHbPgbPhbPibJHbItbItbItbItbItbPjbPkbPlbPmbPnbPobPpbPqbPpbPrbOpbPsbPtbPubPvbPwbtnbkFbjobjobjobjoabtaafaafaafaagaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbBcbPxbGnbGnbGnbPybBcaaaaaaaaaaaabJYbEYbEZaaaaafbJYbPzbPAbPBbMmbMmcbdbPDbPDbPDbPEbPFcbebMqbOAbPHccdbPJbPKbMFbPLbPMbPNbPObPPbPQbPRbPSbPSbPTbPUbLBbPVbPWbPXbPYbPZbQabQbbNLbQcbNObNObMKbMLbNPbKvbLFbQdbMUbQebLHbLGbLGbQfbLGbLGbQgbQhbQibQgbQgbLFbKvbBMbQjbQkbQkbQlbQmbKKbQnbQobQpbQqbCWbCWbCWbItbQrbQsbQtbQubQvbPobQwbQxbQybQzbOmbPtbQAbPtbPvbBRbQBbQCbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbPxbGnbGnbQDbQEbBcaaaaafaaaaaabJYbEYbDCbBcbBcbBcbQFbMkbQGbMmbMmcqmbQHbQIbQJbQKbMkcqnbMqbOAbPHcqobQLbQMbMFbMFbQNbLnbQObQPbQQbQRbMFbMFbLubQSbQTbQUbQVbQWbQXbQWbQYaafbMKbMKbMKbMKbMKbMLbyebKvbLFbQZbRabRabRbbRcbRdbRebRfbRgbMUbPebMUbMUcqpbLFbKvbBMbCWbCWbCWbRhbRibKKbRjbKKbRkbRlbCWbCWbCWbItbRmbRnbRobRpbRqbRrbRsbRtbRrbRubOpbRvbPtbRwbPvbjobRxbRybjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbRzaafaafaafbBcbBcbBcbBcbBcbBcbBcbBcbBcbBcbRAbBcbBcbBcbJYbJYbJYbRBbRCbRDbREbRFbRGbRCbRHbPFbPFbPFbPFcqrbMkbMkbMkbMkbMkcqtbRKbOAbRLbKmbRMbRNbPNbRObPNbLnbMFbMFbMFbQRbRPbRQbRQbRRbRSbRTbNGbRUbRVbRWbNKbLDbNLbRXbRYbRYbMKbMLbyebKvbRZbSabSabSabSbbScbMUbSdbMUbMUbMUbPebMUbMUbMUbLFbKvbBMbCWbCWbCWbSebSfbQobSgbKKbShbSibQkbQkbSjbItbSkbSlbPlbSmbSnbPobQybSobRrbSpbOpbSqbSqbSqbPvbSrbSsbRybjoaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabStbSubSubSubSubSvbSwbSwbSxbSybSzbSAbSBbSCbSDbSEbBcbGnbGnbGnbGnbGnbGnbGnbSFbSGbSHbSIbSJbSKbSKbSKbSKbSLbSMbSMbSMbSNcqubSObDybDybSPbBccqnbMqbOAbSQbSRbSSbSTbRQbRQbSUbSVbRQbRQbSWbSXbSYbMFbSZbTabTbbTcbMFbTdbTebTfbOUaafbOVbTgbThbTibMKbMLbNPbTjbTkbTkbTkbTlbLFbTmbQZbTnbTobTpbTqbTrbTsbTsbTtbLFbKvbBMbItbItbItbItbTubTvbRjbTwbTubItbItbItbItbItbTxbTybTzbTAbTBbTCbTCbTCbTCbTDbOmbSqbSqbTEbPvbTFbSsbRybjobjobjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaaaaafaaaaaabTGbTGbJYbGnbTHbTIbTJbTKbTLbBcbTMbJYbJYbJYbJYbJYbJYbJYbJYbDCbTNbTObTObTObTObTObTObTObTObTPbTPcqxbTPbTPbTQbTRbBccqnbMqbOAbSQbTSbTTbTUbTVbPSbTWbTXbPSbPSbTYbTZbUabUbbUcbUdbUebUfbMFbTdbUgbUhbQabQbbNLbUibRYbRYbMKbMLbNPbUjbyebyebyebNYbLFbUkbMUbMUbUlbUmbUnbUobUpbUobUnbLFbKvbBMbQjbQkbQkbUqbQmbKKbQnbQobUrbUsbCWbCWbCWbItbUtbUubUvbUwbRnbRpbUxbUybUzbUAbOpbSqbSqbSqbPvbTFbSsbRybsebsebjoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaagaagaagaagbUBbUCbUDbGnbUEbTIbTIbUFbGnbBcbGnbJYaaaaaaaafaaaaaaaafaaabDCbTNbTObUGbUHbUIbUJbUKbULbUGbUMbUNcqCcqybTPbTPbTRbBccqDbMqbOAbURbUSbUTbUTbUUbKmbKmbKmbKmbKmbUVbUWbLnbLnbLnbUXbMFbTbbMFbTdbTebUYbOUaafbMKbMKbMKbMKbMKbMLbNPbUjbyebUZbzibNYbMMbVabVbbVcbVdbVebVfbVgbUpbVgbVhbLFbKvbBMbCWbVibCWbVjbRibKKbRjbKKbRkbVkbCWbVibCWbItbVlbVmbVnbVobVpbVqbVrbVsbVtbVubOmbVvbVwbVxbPvbSqbSsbVybjobsebjobjobjoaagaagaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbTGbTGbJYbVzbVAbVBbVCbVDbGnbVEbGnbJYaaaaaaaafaaaaaaaafaaabDCbTNbTObUGbVFbVGbVHbVIbVJbUGbVKbVLcqEbVNbVObTPbTRbBccqnbMqbOAbVPbVQbKmbVRbVSbKmbVTbVUbVVbKmbVWbQRbVXbLnbVYbUfbMFbUdbVZbWabRVbWbbNKbLDbNLbWcbWdbWebMKbMLbyebUjbyebABbzibNYbLFbWfbWgbWhbWibUmbWgbWjbUpbWjbNVbNXbKvbBMbCWbCWbCWbWkbWlbQobSgbKKbShbWmbQkbQkbSjbBMbPvbWnbWobWobPvbPvbWpbWqbWrbWsbWtbWubTCbWvbSqbSqbSsbRybjobWwbjobWxbjoaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbJYbWybWzbWzbWAbTLbWBbBcbJYbJYaaaaaaaaaaaaaaaaaaaaabDCbTNbTObWCbWDbWEbVHbWFbWCbWCbVKbWGcqGcqFbWIbTPbTRbBccqnbMqbWJbWKbWKbWLbWMbWNbWObWPbWQbWRbKmbMFbQRbWSbWTbVYbWUbMFbUdbVZbTdbTebWVbOUaafbOVbWWbWXbWYbMKbMLbyebUjbyebGHbGHbNYbLFbLGbWZbXabLGbXbbLGbLGbLGbLGbLGbLFbKvbBMbItbItbItbItbTubXcbRjbXdbTubItbItbItbItbBMbRrbXebRrbRrbRrbPvbWpbWqbXfbXgbXhbXibUwbXjbPvbSqbSsbRybjobsebsebsebXkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafabtabtabtbBcbBcbBcbVEbBcbBcbBcbBcaafaaaaaabXlaaaaaaaaaaaaaaabEZbTNbTObWCbWCbXmbXnbXobWCbXpbXqbXrcqIcqHbXsbTPbTRbBccqJbXwbCrbWKbXxbXybXybXzbXAbXBbXCbXDbKmbXEbXFbVXbLnbVYbXGbMFbXHbVZbTdbXIbXJbQabQbbNLbXKbWdbWdbMKbMLbNPbUjbyebXLbzibNYbXMbSabSabXNbLGbXObXPbXQbLHbXRbXSbKwbKvbBMbQjbQkbQkbXTbQmbKKbQnbQobXUbXVbCWbCWbCWbBMbXWbRrbRrbRrbRrbPvbXXbXXbXYbXZbOpbOpbUwbOpbPvbOpbSsbRybjobYabYbbYcbXkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabqabfabfabfabfabfaaaaaabBcbGnbGnbGnbGnbGnbGnbGnbGnbWBbJYaafaaaaaaaafaaIbYdaaaaaaaaabEZbTNbTObYebYfbYgbYhbYibYjbYkbYlbYmcqMcqKbYobTPbYpbYqbYrbYsbGybWKbYtbXybYubYvbYwbYxbYybYzbYAbNFbYBbLnbLnbLnbYCbMFbYDbYEbTdbTebMFbOUaafbMKbMKbMKbMKbMKbMLbNPbUjbyebYFbzibYGbYHbTkbYIbYJbLHbYKbYLbYMbLHbYNbKFbYObYPbBMbCWbCWbCWbYQbRibKKbRjbKKbRkbYRbCWbCWbCWbBMbYSbRrbYTbRrbRrbYUbYVbYWbYXbYYbOpbUwbUwbYZbPvbBRbZabZbbjobZcbZdbsebXkaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaaafaaaaafaaaacfaaaaafaaaaafaaaabfaafaafbBcbZebGnbBcbBcbBcbRAbBcbBcbBcbBcaaaaaaaaaaaIbZfbZgaaIaaIaafbEZbTNbTObZhbWCbUGbUGbUGbWCbZibZjbZkcqGcqNcqPbTPbBcbBcbZnbZobZpbWKbWKbZqbXybZrbZsbZtbZsbZubKmbMFbZvbZwbZxbZybONbZzbZAbZBbWabRVbZCbNKbLDbNLbZDbZEbZEbMKbMLbNPbUjbyebyebyebZFbZGbyebZHbZIbyebyebZJbyebyebZIbZKbZLbZMbBMbCWbCWbCWbZNbZObQobZPbKKbShbZQbQkbQkbSjbBMbRrbRrbZRbRrbRrbPvbXXbXXbZSbZTbOpbZUbZVbZWbPvboUbZabRybjobjobjobsebjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaabZXbZYbZZaaabZXbZYbZZaaabZXbZYbZZaaaabfaaaaaabBccaacabbBccacbGnbGncadbOucaebBcaaaaaaaaacafaaIaaIaafaaaaaabEZbTNbTObWCcagcahbUGcaibWCbWCbVKcajcqGcqKcakbTPcalcamcancaocapcaqcarcascatcascatcaucatcavbKmcawcaxcaybPSbPSbPUbRPcazbRUbPVbTecaAbOUaafbOVcaBcaCcaDbMKbMLbyebUjbzicaEcaFbZFcaGbyebZHcaHcaIcaJcaKcaLcaIcaMbZHbgxcaNbBMbBMbBMbBMbBMbBMcaOcaPcaObBMbBMbBMbBMbBMbBMbPvbPvbPvbPvbPvbPvcaQcaQcaRcaSbPvbPvbPvbPvbPvbjobRxbRybjocaTcaUbsebjoaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafbZXcaVbZZaaabZXcaVbZZaaabZXcaVbZZaafaafaaaaaabBcbJYbJYbBcbBccaWcaXbOubGnbQDbBcaaaaaaaaaaaaaafaaaaaaaaaaaabDCbTNbTObUGcaYcaZbUGcbacbbbUGbVKcbccqEcqQcqVcqUcqXcqWbOAcbfcbgcbhcbicbjcbkcblcbmcbnbXycbobKmcbpbMFbZvbRPbRQcbqcbrcbscbtbLAcbucbvbQabQbbNLcbwbZEbZEbMKbMLbyecbxcbycbzcbAcbBcbCbyecbDcbEcbFcbGcbHcbGcbIcbEcbJbgxcbKbjoaaaaaaaaaaafaaaaaacbLaaaaafaaaaaaaaaaaabjocbMbMfbkGcbNcbNbPvcbOcbOcaRbQtcbPcbQbsebsebsebBRbRxbVybjocbRbsebsebjobjobjoaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaabZXcaVbZZaafbZXcaVbZZaafbZXcaVbZZaaaaafaafaafaafaafaafaafbBcbBcbBcbBcbRAbBcbBcaaaaaaaaaaaaaafaaaaaaaafaaabDCbTNbTObUGcbScbTcbUcbVcbWbUGcbXcbYcbZccaccbbTPccccqYcceccfccgcchcciccjcckcclccmccnccoccpccqccrbOQccscctbMFbMFbMFbMHbSYcctbTebUYbOUaafbMKbMKbMKbMKbMKbMLbyebYFccuccvccwccxccybyebyecczccAccBbKwccCccDbyebyebgxcbKbjoaaaaaaaaaaafaaaaaacbLaaaaafaaaaaaaaaaaabjobseccEbqvccFccGbPvccHccHccIbQtbPvbOpbjoccJccKbBRbRxccLccMccMccMccNccOccPccOccQaagaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZXcaVbZZaaabZXcaVbZZaaabZXcaVbZZaafaafaaaaaaaaaaaaaaaaaabBcccRbBcbGnbGnbBcaafaaaaafaaaaaaaafaaaaaaaafaaabDCbTNbTObTObTObTObTObTObTObTObTPbTPbTPbTPbTPbTPbBcccSbBcccTccUccUccUccVccWccXccUccYccZcdabKmcdbcdcbPXcddcdecdfcdecddcdgcddcdhbRPcdiaafaafaafaafaafaafbMLcdjcdjcdjcdkcdlcdjcdjcdjcdmbyecdncdncdocdncdnbyebABbZGcbKbjobXkbXkbXkbjobXkbXkcdpbXkbjobXkbXkbXkbXkbjobjobRxcdqbjobjobPvbPvbPvcdrcdsbPvbBRbjobYcbseboTbRxbZbbjobjocdtbjobjobjobjoaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfaafaaabZXcaVbZZaaabZXcaVbZZaaabZXcaVbZZaaaaafaaaaaacducdvcdvcdvcdvbBcbBccdwbGnbBcbJYbJYbJYbJYbJYbJYbJYbJYbJYbBcbDCbTNbBccdxcdycdzcdzcdzcdzcdzcdzcdzcdzcdzcdAcdAcdzcdBcaWccTcdCcdDcdEcdFcdGcdHccUcdIcdJcdKbKmcdbcdLcdMcdNcdOcdPcdQcdRbMFcdScdTcdUbLuaafaafaaaaaaaaaaaacdVcdWcdXcdYcdZceacebceccdjcedceecefcegcehccBccBbzibzibZGbntceiceiceiceiceiceiceicejcekcekcekcekcekcekcelcekcemcekcekcenceocepceqcercesbjobjocetceoceuceocevbRybjocewbsebsebjoaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaaaaaaacexaaaaaaaaacexaaaaaaaaacexaaaaaaaafcducducduceycezceAceBceCbGnceDceEceFceEceEceEceEceEceEceEceEceEceEceGceHbRGceIceJceKceKceKceKceKceKceKceKceKceKceKceKceKceKccTccUceLceMceNceOcePceQceRceSceTceKbLuceUbLuceVbLuceUbLuceVbLuceWbLuceWbLuaafaafaaaaaaaaaaaacdjceXceYceZcfacfbcfccfdcdjcedcfeccBcffcfgcfhcfibDZcfjcfkcflcflcflcflcflcflcflcfmcfncflcflcflcflcflcflcfocfpcfqbmicfrcfscftcftcftcfucfvcfwcfxcfycfzcftcftcfAcfBbjocaUbsecfCbjoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6626,41 +6659,41 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabJYbJYbJYbJYbBcaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcoPcoQcoRaaaaaaaaacogcogcogcogcogcogcogcogcogaaaaaaaaacoScoTcoUcoVcoWclyclycoXcoYcoZcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaabfacfcpacpacpacpacpaaaacosaaacpacpacpacpacpaaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpbcpccpcaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpccpdcpbceKcpecpfceKcgccgccpgcgcaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaabfaaaaaaaaaaafaaaaaaaaacosaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcphcpicpjaafaafaafcpkaaaaaaaaaaaacpkaaaaaacpkaafaafaafcplcpmcpnceKcpocdIcgcaafaaacppcpqaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcorcorcorcorcoraaacosaaacorcorcorcorcoraafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpbcpccpraaaaaaaafaaaaaaaaaaaaaaacpsaaaaaaaaaaafaaaaaacpccpccpbceKaagaagaagaafaaacptcpucpvcpwcpxcpwcpvcpwcpxcpwcpwcpwcpxcpwcpvcpwcpxcpycpzaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaacoJcoKcoKcoKcoKcoLcoscoMcoNcoNcoNcoNcoOaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpbcpccpraaaaaaaafaaaaaaaaaaaaaaacpsaaaaaaaaaaafaaaaaacpccpccpbceKaagaagaagaafaaacptcpucpvcpwcpxcpwcpvcpwcpxcpwcpvcpwcpxcpwcpvcpwcpxcpycpzaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaacoJcoKcoKcoKcoKcoLcoscoMcoNcoNcoNcoNcoOaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpAcpBcpcaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpccpCcpDceKaaaaaaaagaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaacptcpEcpqcnDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcpacpacpacpacpaaaacosaaacpacpacpacpacpaaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKceKcpFcpcaaaaaaaafcpkaafaafcpGcpHcpIaafcpJaaaaafaaaaaacpccpFceKceKaaaaaaaagaafaafcnDaafaafcnDaafaafaafaafaafaafaafaafaafaafaafaafcnDaafcpKcpEcpzaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaafaaaaaaaaacpLaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcpMceKcpNcpcaaaaaaaafaaaaaaaafcpOcpPcpQaafaaaaaaaafaaaaaacpccpRceKcpMaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagcnDaaaaaacpScpEcpqaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcorcorcorcorcoraaacmxaaacorcorcorcorcoraafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKceKcpFcpcaaaaaaaafaaacpTaafcpUcpVcpWaafaafcpkaafaaaaaacpccpFceKceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaacpXcpYcpqaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaacoJcoKcoKcoKcoKcpZcqacpZcoNcoNcoNcoNcoOaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpCcpDcpcaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpccpAcpBceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcpXcqbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcpacpacpacpacpaaaacmxaaacpacpacpacpacpaaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpbcpccqcaaaaaacqdaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacpccpccpbceKaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecqfcqecqgcqgcqhcqhcqhcqhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaacmxaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaceKcqicpicpjaafaafaafcpkaaaaaacpkaaaaaaaaaaaacpkaafcqjaafcplcpmcqkceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagcnDaafaafaafaafcqecqtcqrcqxcqucqCcqycqDcqhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaabfabfabfabfabfaafaafaaacmxaaaaafaafabfabfabfabqabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcqscpccpcaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpccpccqsceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecqFcqEcqvcqvcqwcqGcqHcqhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcqzaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcqscpccqAaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacqBcpccqsceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecqIcqEcqvcqvcqKcqJcqMcqhaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachWceKceKceKcpcaafaafaafaafaaaaaaaaaaaaaaaaafaafaafaafcpcceKceKceKchWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafcqecqecqNcqvcqvcqhcqPcqhcqhaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacqsceKceKceKceKceKceKceKceKceKceKceKceKceKceKceKceKceKcqsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaafaaacqgcqQcqvcqvcqWcqVcqgaafaafaagaagaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacqscqscqscqscpMcqscqscqscqscqscqscqscpMcqscqscqscqsaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfcqLcqLabfabfaaacqgcqXcqYcqOcrecqZcqgaaaabfabfcqLcqLabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaafaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcqScqTcqUabfabfcqgcrjcrqcrlcrtcrrcqgabfabfcracrbcrccrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcqScrccrucrfcrgcrgcrhcricrgcrvcrkcrgcrgcrfcrCcqScrccrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrmcrncrocrocrpcrHcrEcrscrKcrKcrLcrMcrwcrxcrxcrycrzcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrOcrDcrDcrgcrPcrFcrFcrGcrFcrFcrQcrgcrDcrDcrIcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaaacrgcrWcrTcsgcrNcslcshcsmcrgaaaaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrRcqecqecqecrgcrScsncrUcrUcrVcsqcrXcrgcqecqecqecrYcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKceKcpFcpcaaaaaaaafcpkaafaafcpGcpHcpIaafcpJaaaaafaaaaaacpccpFceKceKaaaaaaaagaafaafcnDaafaafcnDaafaafaafaafaafaafaafaafaafaafaafaafcnDaafcpKcpEcpzaafaafcqhcqhcqhcqhcqhaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaaaaaaaafaaaaaaaaacpLaaaaaaaaaaafaaaaaaaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcpMceKcpNcpcaaaaaaaafaaaaaaaafcpOcpPcpQaafaaaaaaaafaaaaaacpccpRceKcpMaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagcnDaaaaaacpScpEcpqaaacqhcrecracrjcqhaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcorcorcorcorcoraaacmxaaacorcorcorcorcoraafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKceKcpFcpcaaaaaaaafaaacpTaafcpUcpVcpWaafaafcpkaafaaaaaacpccpFceKceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaacpXcpYcpqcqhcrncrlcrqcqhaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaacoJcoKcoKcoKcoKcpZcqacpZcoNcoNcoNcoNcoOaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpCcpDcpcaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpccpAcpBceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcpXcqbcqhcrrcqvcrtcqhaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcpacpacpacpacpaaaacmxaaacpacpacpacpacpaaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcpbcpccqcaaaaaacqdaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaacpccpccpbceKaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecqfcqhcrucqwcrvcqhcqecqeaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaaaaafaaaaafaaaaaacmxaaaaaaaafaaaaafaaaaaaabfaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaceKcqicpicpjaafaafaafcpkaaaaaacpkaaaaaaaaaaaacpkaafcqjaafcplcpmcqkceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagcnDaafaafaafaafcqecrCcrycrHcrEcrLcrKcrMcqeaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaabfabfabfabfabfaafaafaaacmxaaaaafaafabfabfabfabqabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcqscpccpcaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpccpccqsceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecrOcrycrPcqvcrQcqLcrTcqLaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaafcqzaafabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceKcqscpccqAaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacqBcpccqsceKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecsgcrWcshcqOcsmcslcsncqeaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaaaafaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachWceKceKceKcpcaafaafaafaafaaaaaaaaaaaaaaaaafaafaafaafcpcceKceKceKchWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaaaaafcqecqecqecsQcsqcsRcqecqecqeaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacqsceKceKceKceKceKceKceKceKceKceKceKceKceKceKceKceKceKcqsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaaaaaacqgcrPcsUcsXcqgaaaaaaaagaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacqscqscqscqscpMcqscqscqscqscqscqscqscpMcqscqscqscqsaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaafaaaaaacqgcrPcsZcrQcqgaaaaaaaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaafaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfcqLcqLabfaafaafaafcqectgctfcthcqeaafaafaafabfcqLcqLabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcqScqTcsTaaacrgcrgcrgcrhcricrkcrgcrgcrgaaacsYcrbcrccrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcqScrcctactbcrgctoctnctpcrsctrctqctwcrgctjcticqScrccrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrmctkcrocrocrpctFcrFctGcrGctJcrFctKcrwcrxcrxctlcrzcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaaacrgctNcrFctOcrNctPcrFctQcrgcrDcrDcrIcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfctRcrRcqecqecqecrgcrSctScrUcrUcrVctScrXcrgcqecqecqecrYctTabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaaacrZcsacsbcsccsdcrZcsecsfcrZaaaaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaaacrZcsRcsQcsicsjcskcsTcsUcrZaaaaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaacrZcrZcsXcsocspcspcspcsocsYcrZcrZaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaaacrZctVctUcsicsjcskcsoctWcrZaaaaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaacrZcrZctXcsocspcspcspcsoctYcrZcrZaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaacrZcrZcsrcspcspcsscspcspcstcrZcrZaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcsucqecqecrZcrZcsocspcsvcsvcsvcspcsocrZcrZcqecqecswcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfctRcsucqecqecrZcrZcsocspcsvcsvcsvcspcsocrZcrZcqecqecswctTabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdcqhcrZcsxcsocsycsvcszcsvcsycsocsAcrZcqhcqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaacrZcrZcsocspcsBcsCcsDcspcsocrZcrZaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaacrZcrZcsrcspcspcsEcspcspcstcrZcrZaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaacrZcrZcsFcspcsGcsHcsIcspcsFcrZcrZaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcsJcqecqecsvcrZcrZcsecrZcsKcrZcsbcrZcrZcsvcqecqecsLcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacsMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaaaaaacsNcsNcsNcsOcsNcsNcsNaaaaaaaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaafaaacsPcsZctacsSctfctbcsPaaaaaaaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcsVcrfcsWcsWcsPctgcticthctkctjcsPcrfcrfcrfctccrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRctdctecrocrocroctnctlctpctoctrctqctwcrxcrxcrxcrxctmcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaacrDcrDcrDcrDcrDcsPctxctzctyctFctActscttcrDcrDctuctuaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfcsPctGctKctJctMctLcsPabfabfabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfctRcsJcqecqecsvcrZcrZcsecrZcsKcrZcsbcrZcrZcsvcqecqecsLctTabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacsMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaafaaacsNcsNcsNcsOcsNcsNcsNaaaaafaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcrdaaaaafaaacsPctZcuacsScuccubcsPaaaaafaaacqRcrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRcrBcsVcrfcsWcsWcsPcudcufcuecuhcugcsPcrfcsWcrfctccrJcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfcqRctdctecrocrocrocujcuiculcukcuncumcuocrxcrxcrxcrxctmcrdabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaaacrDcrDcrDctucrDcsPcupcurcuqcutcusctscttctucrDctuctuaaaabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfcsPcuucuwcuvcuycuxcsPabfabfabfabfabfabfabfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcsPcsPctBctBctBcsPcsPaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 8d142eca599..aad3f63fc51 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -112,7 +112,7 @@ "ch" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) "ci" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) "cj" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena_source) -"ck" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 12; id = "ferry_transit"; turf_type = /turf/space/transit/horizontal; width = 5},/turf/space/transit/horizontal,/area/space) +"ck" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 12; id = "ferry_transit"; width = 5},/turf/space/transit/horizontal,/area/space) "cl" = (/obj/docking_port/stationary/transit{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_transit"; width = 18},/turf/space/transit,/area/space) "cm" = (/obj/docking_port/stationary/transit{dwidth = 1; height = 4; id = "pod1_transit"; width = 3},/turf/space/transit,/area/space) "cn" = (/obj/docking_port/stationary/transit{dwidth = 1; height = 4; id = "pod2_transit"; width = 3},/turf/space/transit,/area/space) @@ -122,11 +122,11 @@ "cr" = (/turf/unsimulated/wall,/area/start) "cs" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) "ct" = (/turf/unsimulated/wall/splashscreen,/area/start) -"cu" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac) +"cu" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/centcom/evac) "cv" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac) -"cw" = (/turf/space,/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) +"cw" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac) "cx" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac) -"cy" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space) +"cy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/centcom/evac) "cz" = (/obj/docking_port/stationary{dir = 1; dwidth = 1; height = 4; id = "pod1_away"; name = "recovery ship"; width = 3},/turf/space,/area/space) "cA" = (/obj/docking_port/stationary{dir = 1; dwidth = 1; height = 4; id = "pod2_away"; name = "recovery ship"; width = 3},/turf/space,/area/space) "cB" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/centcom/evac) @@ -139,19 +139,19 @@ "cI" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/centcom/evac) "cJ" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/centcom/evac) "cK" = (/turf/simulated/shuttle/plating,/area/centcom/evac) -"cL" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space) -"cM" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) +"cL" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac) +"cM" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/centcom/evac) "cN" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/centcom/evac) "cO" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) "cP" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac) "cQ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac) "cR" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac) -"cS" = (/turf/space,/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/space) -"cT" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/centcom/evac) +"cS" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/centcom/evac) +"cT" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) "cU" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/centcom/evac) "cV" = (/turf/simulated/shuttle/floor,/area/centcom/evac) -"cW" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/centcom/evac) -"cX" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc3"},/area/space) +"cW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac) +"cX" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/centcom/evac) "cY" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/centcom/evac) "cZ" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/centcom/evac) "da" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) @@ -180,7 +180,9 @@ "dx" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/shuttle/floor,/area/centcom/evac) "dy" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/shuttle/floor,/area/centcom/evac) "dz" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/shuttle/floor,/area/centcom/evac) +"dA" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) "dB" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) +"dC" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) "dD" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac) "dE" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/centcom/evac) "dF" = (/obj/machinery/door/airlock/shuttle{name = "Cockpit"; req_access_txt = "109"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) @@ -202,8 +204,13 @@ "dV" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_away"; name = "Centcom"; width = 12},/turf/simulated/shuttle/plating,/area/space) "dW" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/poddoor{id = "QMLoaddoor"; name = "supply dock loading door"},/turf/simulated/shuttle/plating,/area/space) "dX" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/space) +"dY" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space) +"dZ" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) "ea" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/space) +"eb" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) +"ec" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/space) "ed" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating,/area/space) +"ee" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) "ef" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating,/area/space) "eg" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/space) "eh" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating,/area/space) @@ -226,10 +233,12 @@ "ey" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) "ez" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/space) "eA" = (/turf/unsimulated/wall/fakedoor{name = "Centcom Security"},/area/centcom/evac) +"eB" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/obj{anchored = 1; icon_state = "floor3"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space) "eC" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "eD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/space) "eE" = (/obj/machinery/computer/emergency_shuttle,/turf/simulated/shuttle/floor,/area/space) "eF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"eG" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/obj{anchored = 1; icon_state = "floor3"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space) "eH" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "security door"},/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/control) "eI" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "eJ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac) @@ -292,7 +301,7 @@ "fO" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "fP" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "fQ" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"fR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"fR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "fS" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "fT" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "fU" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) @@ -314,7 +323,7 @@ "gk" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency,/obj/docking_port/stationary{dir = 4; dwidth = 9; height = 11; id = "emergency_away"; name = "Centcom"; width = 22},/turf/simulated/shuttle/plating,/area/space) "gl" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/shuttle/floor,/area/space) "gm" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor,/area/space) -"gn" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"gn" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "go" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "gp" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) "gq" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/space) @@ -381,9 +390,9 @@ "hz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry) "hA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/ferry) "hB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/ferry) -"hC" = (/obj/machinery/suit_storage_unit/ertMed,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hD" = (/obj/structure/rack,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hE" = (/obj/structure/rack,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hC" = (/obj/machinery/suit_storage_unit/ertMed,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) +"hD" = (/obj/structure/rack,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hE" = (/obj/structure/rack,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hF" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hH" = (/obj/structure/rack,/obj/item/device/aicard,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) @@ -410,88 +419,88 @@ "ic" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve) "id" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeobserve) "ie" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/tdome/tdomeobserve) -"if" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed"; pixel_x = -28; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"ig" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"ih" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"ii" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"ij" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"ik" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"il" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"im" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"in" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"io" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) -"ip" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) -"iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"ir" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"is" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"it" = (/obj/machinery/door/airlock/glass_large{name = "Miscellaneous Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iu" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) -"iv" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) -"iw" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve) -"ix" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome/tdomeobserve) -"iy" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve) -"iz" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome/tdomeobserve) -"iA" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac) -"iB" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac) -"iC" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac) -"iD" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) -"iE" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) -"iF" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"iG" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1; icon_state = "comfychair"; name = "pilot's chair"; tag = "icon-comfychair (NORTH)"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"iH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"iI" = (/obj/item/weapon/storage/fancy/crayons,/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"iJ" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"iK" = (/obj/structure/lattice,/turf/space,/area/space) -"iL" = (/obj/structure/table/reinforced,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iM" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/clothing/glasses/hud/security/night,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iN" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/belt/security,/obj/item/device/flash/handheld,/obj/item/weapon/grenade/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iO" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/ferry) -"iP" = (/turf/unsimulated/floor{tag = "icon-bluecorner (EAST)"; icon_state = "bluecorner"; dir = 4},/area/centcom/ferry) -"iQ" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/ferry) -"iR" = (/turf/unsimulated/floor{tag = "icon-bluecorner (NORTH)"; icon_state = "bluecorner"; dir = 1},/area/centcom/ferry) -"iS" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (EAST)"; icon_state = "neutralcorner"; dir = 4},/area/centcom/ferry) -"iT" = (/turf/unsimulated/floor{tag = "icon-neutral (NORTH)"; icon_state = "neutral"; dir = 1},/area/centcom/ferry) -"iU" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (NORTH)"; icon_state = "neutralcorner"; dir = 1},/area/centcom/ferry) -"iV" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) -"iW" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) -"iX" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) -"iY" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) -"iZ" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"ja" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"jb" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station) -"jc" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station) -"jd" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station) -"je" = (/turf/unsimulated/wall/normal{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station) -"jf" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"jg" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"jh" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"ji" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jj" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jk" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jl" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jm" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jn" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/syndicate_mothership) -"jo" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jp" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jq" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jr" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"js" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve) -"jt" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station) -"ju" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) -"jv" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"jw" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"jx" = (/turf/unsimulated/wall/normal{tag = "icon-uranium5"; icon_state = "uranium5"},/area/wizard_station) -"jy" = (/turf/unsimulated/wall/normal{tag = "icon-uranium10"; icon_state = "uranium10"},/area/wizard_station) -"jz" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/space) -"jA" = (/obj/machinery/door/window{name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"jB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/space) -"jC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"jD" = (/obj/item/weapon/paper{info = "GET DAT FUKKEN DISK"; name = "memo"},/obj/structure/noticeboard{pixel_x = -32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jE" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jF" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jG" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jH" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jI" = (/obj/machinery/suit_storage_unit/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"if" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"ig" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"ih" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"ii" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"ij" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"ik" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"il" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"im" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"in" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) +"io" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) +"ip" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"ir" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"is" = (/obj/machinery/door/airlock/glass_large{name = "Miscellaneous Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"it" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) +"iu" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) +"iv" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve) +"iw" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome/tdomeobserve) +"ix" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve) +"iy" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome/tdomeobserve) +"iz" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac) +"iA" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac) +"iB" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac) +"iC" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) +"iD" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) +"iE" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"iF" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1; icon_state = "comfychair"; name = "pilot's chair"; tag = "icon-comfychair (NORTH)"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"iG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"iH" = (/obj/item/weapon/storage/fancy/crayons,/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"iI" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"iJ" = (/obj/structure/lattice,/turf/space,/area/space) +"iK" = (/obj/structure/table/reinforced,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"iL" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/clothing/glasses/hud/security/night,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"iM" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/belt/security,/obj/item/device/flash/handheld,/obj/item/weapon/grenade/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"iN" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/ferry) +"iO" = (/turf/unsimulated/floor{tag = "icon-bluecorner (EAST)"; icon_state = "bluecorner"; dir = 4},/area/centcom/ferry) +"iP" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/ferry) +"iQ" = (/turf/unsimulated/floor{tag = "icon-bluecorner (NORTH)"; icon_state = "bluecorner"; dir = 1},/area/centcom/ferry) +"iR" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (EAST)"; icon_state = "neutralcorner"; dir = 4},/area/centcom/ferry) +"iS" = (/turf/unsimulated/floor{tag = "icon-neutral (NORTH)"; icon_state = "neutral"; dir = 1},/area/centcom/ferry) +"iT" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (NORTH)"; icon_state = "neutralcorner"; dir = 1},/area/centcom/ferry) +"iU" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) +"iV" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) +"iW" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) +"iX" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) +"iY" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) +"iZ" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) +"ja" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station) +"jb" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station) +"jc" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station) +"jd" = (/turf/unsimulated/wall/normal{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station) +"je" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"jf" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"jg" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"jh" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"ji" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jk" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jl" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jm" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/syndicate_mothership) +"jn" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"jo" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"jp" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"jq" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"jr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve) +"js" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station) +"jt" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) +"ju" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) +"jv" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"jw" = (/turf/unsimulated/wall/normal{tag = "icon-uranium5"; icon_state = "uranium5"},/area/wizard_station) +"jx" = (/turf/unsimulated/wall/normal{tag = "icon-uranium10"; icon_state = "uranium10"},/area/wizard_station) +"jy" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/space) +"jz" = (/obj/machinery/door/window{name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"jA" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/space) +"jB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"jC" = (/obj/item/weapon/paper{info = "GET DAT FUKKEN DISK"; name = "memo"},/obj/structure/noticeboard{pixel_x = -32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jD" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jE" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jF" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jG" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"jH" = (/obj/machinery/suit_storage_unit/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"jI" = (/obj/structure/closet/syndicate/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jJ" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/ferry) "jK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/ferry) "jL" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/centcom/ferry) @@ -539,9 +548,9 @@ "kB" = (/obj/mecha/combat/marauder{operation_req_access = null},/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) "kC" = (/obj/machinery/door/poddoor{name = "Death Squad Equipment Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kE" = (/obj/machinery/suit_storage_unit/ertSec,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kF" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot/tele,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kG" = (/obj/machinery/suit_storage_unit/ertEngi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"kE" = (/obj/machinery/suit_storage_unit/ertSec,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) +"kF" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot/tele,/obj/item/device/flash/handheld,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"kG" = (/obj/machinery/suit_storage_unit/ertEngi,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) "kH" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kI" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station) "kJ" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) @@ -580,7 +589,7 @@ "lq" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/door_control{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; travelDir = 180; width = 18},/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"}; width = 18},/turf/simulated/shuttle/plating,/area/space) "lr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space) "ls" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) -"lt" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership) +"lt" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership) "lu" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership) "lv" = (/obj/structure/table/wood,/obj/item/device/syndicatedetonator{desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press."},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership) "lw" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) @@ -656,175 +665,174 @@ "mO" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "mP" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "mQ" = (/obj/structure/table,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mR" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed"; pixel_x = -28; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mS" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mT" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mU" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mV" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mW" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"mX" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"mY" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"mZ" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"na" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"nb" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"nc" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"nd" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena) -"ne" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena) -"nf" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena) -"ng" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"nh" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"ni" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows"},/area/wizard_station) -"nj" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nk" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nl" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack{health = 9999},/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"nm" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/wizard_station) -"nn" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/wizard_station) -"no" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"np" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nq" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nr" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/syndicate_mothership) -"ns" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nt" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"nu" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"nv" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station) -"nw" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nx" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) -"ny" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nz" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nA" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nB" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station) -"nC" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) -"nD" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) -"nE" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station) -"nF" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space/transit,/area/wizard_station) -"nG" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nH" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nI" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nJ" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"nK" = (/turf/simulated/floor/bluegrid,/area/tdome/arena) -"nL" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena) -"nM" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"nN" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station) -"nO" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) -"nP" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) -"nQ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"nR" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station) -"nS" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station) -"nT" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nW" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nX" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nY" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2},/obj/item/weapon/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"nZ" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena) -"oa" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"ob" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"oc" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"od" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) -"oe" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"of" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) -"og" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"oh" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"oj" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"ok" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"ol" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station) -"om" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"on" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"oo" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"op" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/obj/item/weapon/reagent_containers/glass/bottle/morphine,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"oq" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space) -"or" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"os" = (/obj/machinery/teleport/hub/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"ot" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station) -"ou" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating,/area/space) -"ov" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating,/area/space) -"ow" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"ox" = (/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station) -"oy" = (/obj/effect/forcefield,/turf/space,/area/wizard_station) -"oz" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"oA" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"oB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin) -"oC" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin) -"oD" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin) -"oE" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) -"oF" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space,/area/wizard_station) -"oG" = (/obj/effect/forcefield,/turf/space/transit,/area/wizard_station) -"oH" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) -"oI" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) -"oJ" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) -"oK" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) -"oL" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) -"oM" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"oN" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin) -"oO" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) -"oP" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) -"oQ" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) -"oR" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) -"oS" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) -"oT" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/wizard_station) -"oU" = (/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station) -"oV" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin) -"oW" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) -"oX" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) -"oY" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) -"oZ" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) -"pa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station) -"pb" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) -"pc" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) -"pd" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/wizard_station) -"pe" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/wizard_station) -"pf" = (/obj/structure/dresser,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) -"pg" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) -"ph" = (/obj/structure/table/wood,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) -"pi" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station) -"pj" = (/turf/unsimulated/wall/normal{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station) -"pk" = (/turf/simulated/shuttle/wall,/area/wizard_station) -"pl" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station) -"pm" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"pn" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"po" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station) -"pp" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pq" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pr" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"ps" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pt" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pu" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pv" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pw" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"px" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"py" = (/turf/unsimulated/beach/sand,/area/centcom/holding) -"pz" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding) -"pA" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding) -"pB" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Engine Room B"},/turf/space,/area/wizard_station) -"pC" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pD" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pE" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding) -"pF" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship"; name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) -"pG" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pH" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pI" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pJ" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"pK" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding) -"pL" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding) -"pM" = (/turf/unsimulated/wall/normal{tag = "icon-uranium11"; icon_state = "uranium11"},/area/wizard_station) -"pN" = (/obj/structure/window/reinforced{color = "#008000"; dir = 1},/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station) -"pO" = (/turf/unsimulated/wall/normal{tag = "icon-uranium7"; icon_state = "uranium7"},/area/wizard_station) -"pP" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/tie/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pQ" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding) -"pR" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station) -"pS" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pT" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pU" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space) -"pV" = (/turf/unsimulated/beach/coastline,/area/centcom/holding) -"pW" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding) -"pX" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) -"pZ" = (/turf/unsimulated/beach/water,/area/centcom/holding) -"qa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) -"qb" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding) -"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) -"qd" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding) +"mR" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"mS" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"mT" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"mU" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"mV" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"mW" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"mX" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"mY" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"mZ" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"na" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"nb" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"nc" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena) +"nd" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena) +"ne" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena) +"nf" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"ng" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"nh" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows"},/area/wizard_station) +"ni" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"nj" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"nk" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack{health = 9999},/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) +"nl" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/wizard_station) +"nm" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/wizard_station) +"nn" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"no" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"np" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nq" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/syndicate_mothership) +"nr" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ns" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"nt" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"nu" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station) +"nv" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"nw" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) +"nx" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"ny" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"nz" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"nA" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station) +"nB" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) +"nC" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station) +"nD" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station) +"nE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space/transit,/area/wizard_station) +"nF" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nH" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nI" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"nJ" = (/turf/simulated/floor/bluegrid,/area/tdome/arena) +"nK" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena) +"nL" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"nM" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station) +"nN" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station) +"nO" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) +"nP" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"nQ" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station) +"nR" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station) +"nS" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nV" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nW" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nX" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2},/obj/item/weapon/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"nY" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena) +"nZ" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"oa" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"ob" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) +"oc" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) +"od" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) +"oe" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) +"of" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"og" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"oh" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"oj" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"ok" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station) +"ol" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"om" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"on" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"oo" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"op" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space) +"oq" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"or" = (/obj/machinery/teleport/hub/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"os" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station) +"ot" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating,/area/space) +"ou" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating,/area/space) +"ov" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"ow" = (/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station) +"ox" = (/obj/effect/forcefield,/turf/space,/area/wizard_station) +"oy" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) +"oz" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"oA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin) +"oB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin) +"oC" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin) +"oD" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) +"oE" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space,/area/wizard_station) +"oF" = (/obj/effect/forcefield,/turf/space/transit,/area/wizard_station) +"oG" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) +"oH" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) +"oI" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) +"oJ" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) +"oK" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) +"oL" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"oM" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin) +"oN" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin) +"oO" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) +"oP" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) +"oQ" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) +"oR" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) +"oS" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/wizard_station) +"oT" = (/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station) +"oU" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin) +"oV" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) +"oW" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) +"oX" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin) +"oY" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) +"oZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station) +"pa" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) +"pb" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) +"pc" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/wizard_station) +"pd" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/wizard_station) +"pe" = (/obj/structure/dresser,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) +"pf" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) +"pg" = (/obj/structure/table/wood,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) +"ph" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station) +"pi" = (/turf/unsimulated/wall/normal{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station) +"pj" = (/turf/simulated/shuttle/wall,/area/wizard_station) +"pk" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station) +"pl" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"pm" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"pn" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station) +"po" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pp" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pq" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pr" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"ps" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pt" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pu" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pv" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pw" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"px" = (/turf/unsimulated/beach/sand,/area/centcom/holding) +"py" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding) +"pz" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding) +"pA" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Engine Room B"},/turf/space,/area/wizard_station) +"pB" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pC" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pD" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding) +"pE" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship"; name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) +"pF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pG" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pI" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) +"pJ" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding) +"pK" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding) +"pL" = (/turf/unsimulated/wall/normal{tag = "icon-uranium11"; icon_state = "uranium11"},/area/wizard_station) +"pM" = (/obj/structure/window/reinforced{color = "#008000"; dir = 1},/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station) +"pN" = (/turf/unsimulated/wall/normal{tag = "icon-uranium7"; icon_state = "uranium7"},/area/wizard_station) +"pO" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/tie/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pP" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding) +"pQ" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station) +"pR" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pS" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pT" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space) +"pU" = (/turf/unsimulated/beach/coastline,/area/centcom/holding) +"pV" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding) +"pW" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding) +"pY" = (/turf/unsimulated/beach/water,/area/centcom/holding) +"pZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) +"qa" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding) +"qb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) +"qc" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababadaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeag @@ -938,12 +946,12 @@ abababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcucvcxcweoabczabababcAabeocucvcxcwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcCcCcDcYcEcFcGcHcGcFcIcYcJcCcCcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcKcKcBcVcNcOcPcQcRcOcNcVcBcKcKcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcKcKcBcVcVcOcVcVcVcOcVcVcBcKcKcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcKcKcFcVcOcOcOcOcOcOcOcVcFcKcKcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcycYcYcZdadbdcddcOdecVcOdfdgcYcYcLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcucvcwcxcyabczabababcAabcucvcwcxcyababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcCcCcCcDcEcFcGcHcGcFcIcJcCcCcCcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcKcKcLcMcNcOcPcQcRcOcNcScTcKcKcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBcKcKcUcVcVcOcVcVcVcOcVcVcUcKcKcBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWcTcKcFcVcOcOcOcOcOcOcOcVcFcKcLcXababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWcYcZdadbdcddcOdecVcOdfdgcYcXabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdhdidjdkcOcVcVcOdfcBabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdldmdmddcOdfdncOdfcUabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdodmdmdpcOdfdncOcOcFdqababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab @@ -952,17 +960,17 @@ abababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcUcOdfdncOdfcGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOcOdtcOcOcOcOcOcFduababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrdvcOcVcVcVcVdvababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdwdwdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcBcOdxdydzcNcBababababababababababababababababababababababababababababababababababababdwcMdBdBdBdBdBcSdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcTcYdDcYdEdFcIcYdDcYcWababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeocBdIdfcOdJdKcBeoabababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcBcOdxdydzcNcBababababababababababababababababababababababababababababababababababababdwdAdBdBdBdBdBdCdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdDdDcYdEdFcIcYdDdDcXababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWcJdIdfcOdJdKcDcXabababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdzcVdLcVdIcBababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdMdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdOdPdQdRdScBababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdTdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcTdsdsdsdsdscWababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdUdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdsdsdsdsdscXababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdUdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdVdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdWdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwcyfeedededfecLdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdXdYdHdHdHdZeadwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwebecedededeceedwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwefegegegehdwdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdwabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab @@ -971,11 +979,11 @@ abababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieielemeneiekeoeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeieqeremeseteieoeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepeuepeuepeuepeuepeuepeuepeuepeuepabababeievemememeweieoeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeiexemememeyeieoeoeoeoeoeoekababababcMezezezezezcSabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepeuepeuepeuepeuepeuepeuepeuepeuepabababeiexemememeyeieoekekeAekekekabababcMgaeCeDeEeDeFcXcSababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeiexemememeyeieoeoeoeoeoeoekababababdAezezezezezdCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepeuepeuepeuepeuepeuepeuepeuepeuepabababeiexemememeyeieoekekeAekekekabababdAeBeCeDeEeDeFeGdCababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeieieHeieieIeieoekeJeJeJeKekabababdGeLeMdHdHdHeNeOdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeiePeQeRePeieoekeJeJeJeJekabababdGeSeTeUeVdHeNeWdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieXeYeZePeieoekeJfafbfcekababcMfddBdBfedBfffgdBfdcSabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieXeYeZePeieoekeJfafbfcekababdAfddBdBfedBfffgdBfddCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhababeiePeQfifjeieoekfkflfmfnekababdGfofofoezfpdHfqfrfsezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhabababababababababababababababababababfhftfufvfhaDeieifweieieieieiekeJeJeJeJfxfyfzdGfAfBfBfCdHdHdHdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfDfDfDfhfhababababababababababababababababababfhfEfFfFfhfGfHemfIfIfIfIfHfJekeJeJeJeJfKfLfKfMfBfNfNezfOfPfQdHfqezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab @@ -989,44 +997,44 @@ ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzabababababababababababababababfhfhfhfhfSfShlfhfhfhfhababfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzabababababababababababababababfhhphqhrfSfSfSfhabababababhshshshshshshshshshshshshshshshshtfhhsfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhhCfSfShDfhhEhFhGhHfhhIfhhsfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababfhhQhRgYfSfSfSfSfSfSfSfShSfShThUhVhWfhhCfSfShDfhhXfSfShYfhhIfhhshZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGiffqfqigdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNihiiijikilimimhNingIgIhygzgzioipgzgzhyiqirhygzabababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhisfSfhfhfhitfSfhfhhIfhhsiuiviwixiyiziwivivekgiiAiBiCekababdGiDiDiEiEdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiFiiiiiGiiiiiihNingIiHgzgziIiJiJiIgzgzgzgzgzgzgzgzababababababababababababababiKabababiKababfhiLiMiNgAfSiOiOiOfSfSiPiQiQiRfSiSiTiTiUfShIfhhsiviViWixiyiziWiXivekgiiYiZjaekababcyfeedededededededfecLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajbjcjdjeaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjfiiiiiijgiijhhNinhciHgzjijjjjjjjjjkjljmjnjojpjqgzababababababababababababababiKabababiKababgAfSfSfSjrfSiOiOiOfShIhIhIhIhIhIhIhIhIhIhIhIfhhsjsivjsixiyizjsivjsekgigigigiekabababcyegegegegegegegcLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajtaajujvjwjxjyaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjzhNhNhNjAhNhNhNjBgIgIjCgzjDjjjEjEjFjjjjjjjGjHjHjHgzababababababababababababababiKabababiKababfhjIfSfSgAfSfSiOfSfSfSjJjKjKjLfSjMjNjNjOfSfSfhhsjPivivixiyizivivjQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajtjUjVjWjwjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZiikahNkbhyhyhykcgzjjjEkdkejEjjkfkgjnkhkigzgzabababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhkjfSfhfhfhkkfSfhfhfhfhhsklkmkmixiyizknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqkrjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuiikvhNkwkxkxkxipgzjjjEkykzjEjjkfkAgzgzgzgzababababababababababababababfhhdkBgYfSfSfSfSfSfSfSfSkCfShThUhVkDfhkEfSfSkFfhkGfSfSkHfhababhshZhZhZhZiyhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajxjykIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuiikvhNkMkNkNkNkNkOjjjjjjjjjjjjkfkAgzgzgzgzababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhkEfSfSkFfhkGfSfSkPfhababababababhZiyhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtjtkLkRkSkTjxaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUiiiikVhNkuiikvhNkWkXiokxipgzkYjEjEjEjjjjkfkZgzlalbgzgzabababababababababababababfhlcldlefSfSfSfhababababababababababfhfSlflffSfhfSlglgfSfhhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjwlnjtaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUiilolphNkuiikvhNhNlqlrhPlsgzltlulvlulujjjjjjlwlxlxlygzabababababababababababababfhfhfhfhfSfShlfhababababababababababfhfhfhfhfhfhfhfhfhfhhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljwlGlHlIjtjtaaaaaaaaaaaaaaaaababababababgzlJgIhNkUiiiilKhNiiiiiihNiiiiiihNjCgzlLlMlLlLlNjjjjjjgzlOlPlygzabababababababababababababfhhdkBgYfSfSfSfhabababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaajtaaljlSlSlTlljwlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUiiiiiilXiiiiiilYiiiiiihNiHgzgzkglZmambgzmcjjgzgzgzgzgzabababababababababababababgAfSfSgYfSfSfSfhababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaalnjtaaaajtmdmejWmfjWlnjtjtaaaaaaaaaaaaaaaaababababababgzgIgIhNkUiiiiiimgiiiiiimhiiiimihNmjmjlsgzgzgzgzgzgzmkmlmmmnmogzabababababababababababababfhlcldlefSfSfSfhababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajtaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwiiiihNhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzgzabababababababababababababfhfhfhfhgAmAgAfhfhabababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaamEmFjwjwmFmEmGmHjwjwjwmImJmEmKmLlnmMjtjtaaaaaaababababababgzgIhNmNmNmOmPmQhNmRiiiihNmSmTmUmVmWmWhNgIgJgIgIgLjnmzmzmzmzmXgzabababababababababababababababfhmYfSfSfSmZfhabababababababababababmBnanbncncncncncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngngngngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaninjjwjwnjnimMmMjwjwjwjwnkninlnmlSlSnnaaaaaaaaababababababgzgIhNiiiiiiloiinoiiiiiinpiiloiilonqnqhNgIhcgKgJhcgznrnrnrnrnsgzabababababababababababababababfhmYfSfSfSmZfhabababababababababababmBnanbncntncntncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngnungnungnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanvnwjwlGjwnxlUlGjwnyjwjwnznvnAnBnCnDnEnFaaaaaaababababababgzgIhNnGiiiiiiiinHiiiiiinIiiiiiiiiiiiihNgIgIgIgKiHgzgzgzgzgzgzgzabababababababababababababababfhmYfSfSfSmZfhabababababababababababmBnanbncncnJncncndnemDmDmDmDmDnKnLnKmDmDmDmDmDnfndngngnMngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanNnjjwjWlUnOjWjwjwnPjwjwjwnNnQnRnnnSlhaaaaaaaaababababababgzgIhNnGiiiinTnUhNnVnWnVhNnXnYiiiiiiiihNgIgKgIhciHgzabababababababababababababababababababababfhfhgAfSgAfhfhabababababababababababmBnanbncncncncncndnemDmDmDmDmDnKnZnKmDmDmDmDmDnfndngngngngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaajeoajwjwoajeobjwlGjWjwjwobjeocodoeofaaaaaaaaaaababababababgzgIhNiiiiiihNhNhNogohiihNhNhNiiiiiiiihNgIgIgJgIiHgzabababababababababababababababababababababfhoifSfSfSojfhabababababababababababmBnanbncntncntncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngnungnungnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaajxmqokmsmtolmtmqkIomkImsmtolmtmqjtjtjtaaaaaaaaababababababgzgIhNonooophNgIhNoqoqoqhNgIhNimorososhNgIgIgIgIiHgzabababababababababababababababababababababfhoifSfSfSojfhabababababababababababmBnanbncncncncncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngngngngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaamdlGaajtaajtotlmmdaaaajtaaaaaaaajtaaaaaaaaababababababgzgIhNoqoqoqhNgIjzouegovjBgIhNoqoqoqoqhNgIgIgIgIiHgzabababababababababababababababababababababfhoifSfSfSojfhabababababababababababmBmBmBowowowowowmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBowowowowowmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaajtjtaaoxlGaaoyozmdjtaalUaaaaaaaaaaaaaaaaaaababababababgzgIjzouegovjBgIgIgIgIgIgIgIjzouegovovjBgIgIgIgIiHgzabababababababababababababababababababababfhfhfhfhfhfhfhabababababababababababababmBoAoAoAoAoAmBoBoCoCoCoCoCoCoCoCoCoCoCoCoCoDmBoEoEoEoEoEmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtjtaaoFlGoGaaaaaajtaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIiHgzabababababababababababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBoHoIoIoIoIoIoJoKoLoIoIoIoIoIoHmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajtmumqoMmsmujtaajtjtaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababoNoHoHoHoOoHoPoPoPoPoPoHoOoHoHoHoNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoQoRoSmEoxnmlFoToUjtaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoNoNoVoNoNoNoNoWoXoYoNoNoNoNoVoNoNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaakIoZpapbkIpcpdlEpejwjYaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoNoNoNoNoNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaalmjtjepfpgphjejWpilEpeaajtaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtmupjmqkImspjmupkplpeaajtaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshshshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtmEjwpmpnpmjwmEaapoaaaajtaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspppqprpspspqptpupvpwpxpypzpypypypAhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaajtlGpBjwjwjwjwjwpBaaaaaaaalGaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspppqpqpqpqpqpCpxpxpxpDpypypypEpypyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaajtjtlmjwjepFjwjwjwpFjeaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspppqpGpppHpIpJpxpxpxpxpypypKpypLpzhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaajtmtmtpMpNpNpNpNpNpOaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspPpxpDpDpDpDpDpxpxpxpxpypypypQpypyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajxmqpRpRpRmskLaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspSpxpxpxpxpxpxpxpxpxpxpTpypypypypyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapUpUpUaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspSpxpxpxpxpxpxpxpxpDpxpTpVpVpVpWpVhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspXpxpxpxpxpxpxpxpDpYpDpTpZpZpZpZpZhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshsqaqbqbqchshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqdqdqdqdhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqdqdqdqdhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababfhhQhRgYfSfSfSfSfSfSfSfShSfShThUhVhWfhhCfSfShDfhhXfSfShYfhhIfhhshZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhirfSfhfhfhisfSfhfhhIfhhsitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzababababababababababababababiJabababiJababfhiKiLiMgAfSiNiNiNfSfSiOiPiPiQfSiRiSiSiTfShIfhhsiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzababababababababababababababiJabababiJababgAfSfSfSjqfSiNiNiNfShIhIhIhIhIhIhIhIhIhIhIhIfhhsjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzababababababababababababababiJabababiJababfhjHfSjIgAfSfSiNfSfSfSjJjKjKjLfSjMjNjNjOfSfSfhhsjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhkjfSfhfhfhkkfSfhfhfhfhhsklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqkrjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababfhhdkBgYfSfSfSfSfSfSfSfSkCfShThUhVkDfhkEfSfSkFfhkGfSfSkHfhababhshZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhkEfSfSkFfhkGfSfSkPfhababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababfhlcldlefSfSfSfhababababababababababfhfSlflffSfhfSlglgfSfhhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNlqlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababfhfhfhfhfSfShlfhababababababababababfhfhfhfhfhfhfhfhfhfhhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzabababababababababababababfhhdkBgYfSfSfSfhabababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababgAfSfSgYfSfSfSfhababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaalnjsaaaajsmdmejWmfjWlnjsjsaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihmgihihihmhihihmihNmjmjlsgzgzgzgzgzmkmkmlmmmnmogzabababababababababababababfhlcldlefSfSfSfhababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajsaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwihihhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzmzgzabababababababababababababfhfhfhfhgAmAgAfhfhabababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaamEmFjvjvmFmEmGmHjvjvjvmImJmEmKmLlnmMjsjsaaaaaaababababababgzgIhNmNmNmOmPmQhNihihihhNmRmSmTmUmVhNgIgJgIgIgLjmmzmzmzmzmzmWgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanhnijvjvninhmMmMjvjvjvjvnjnhnknllSlSnmaaaaaaaaababababababgzgIhNihihihloihnnihihihnoihloihlonphNgIhcgKgJhcgznqnqnqnqnqnrgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanunvjvlGjvnwlUlGjvnxjvjvnynunznAnBnCnDnEaaaaaaababababababgzgIhNnFihihihihnGihihihnHihihihihihhNgIgIgIgKiGgzgzgzgzgzgzgzgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnbnInbnbncndmDmDmDmDmDnJnKnJmDmDmDmDmDnencnfnfnLnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanMnijvjWlUnNjWjvjvnOjvjvjvnMnPnQnmnRlhaaaaaaaaababababababgzgIhNnFihihnSnThNnUnVnUhNnWnXihihihhNgIgKgIhciGgzababababababababababababababababababababababfhfhgAfSgAfhfhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDnJnYnJmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaajdnZjvjvnZjdoajvlGjWjvjvoajdobocodoeaaaaaaaaaaababababababgzgIhNihihihhNhNhNofogihhNhNhNihihihhNgIgIgJgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaajwmqojmsmtokmtmqkIolkImsmtokmtmqjsjsjsaaaaaaaaababababababgzgIhNomonoohNgIhNopopophNgIhNiloqorhNgIgIgIgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaamdlGaajsaajsoslmmdaaaajsaaaaaaaajsaaaaaaaaababababababgzgIhNopopophNgIjyotegoujAgIhNopopophNgIgIgIgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmBmBovovovovovmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBovovovovovmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaajsjsaaowlGaaoxoymdjsaalUaaaaaaaaaaaaaaaaaaababababababgzgIjyotegoujAgIgIgIgIgIgIgIjyotegoujAgIgIgIgIiGgzababababababababababababababababababababababfhfhfhfhfhfhfhabababababababababababababmBozozozozozmBoAoBoBoBoBoBoBoBoBoBoBoBoBoBoCmBoDoDoDoDoDmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjsaaoElGoFaaaaaajsaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBoGoHoHoHoHoHoIoJoKoHoHoHoHoHoGmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsmumqoLmsmujsaajsjsaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababababababababababababababababababababababoMoGoGoGoNoGoOoOoOoOoOoGoNoGoGoGoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoPoQoRmEownllFoSoTjsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoUoMoMoMoMoVoWoXoMoMoMoMoUoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaakIoYoZpakIpbpclEpdjvjYaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoMoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaalmjsjdpepfpgjdjWphlEpdaajsaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmupimqkImspimupjpkpdaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshshshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmEjvplpmpljvmEaapnaaaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppqprprpppsptpupvpwpxpypxpxpxpzhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaajslGpAjvjvjvjvjvpAaaaaaaaalGaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppppppppppBpwpwpwpCpxpxpxpDpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaajsjslmjvjdpEjvjvjvpEjdaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppFpopGpHpIpwpwpwpwpxpxpJpxpKpyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaajsmtmtpLpMpMpMpMpMpNaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspOpwpCpCpCpCpCpwpwpwpwpxpxpxpPpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwmqpQpQpQmskLaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspRpwpwpwpwpwpwpwpwpwpwpSpxpxpxpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapTpTpTaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspRpwpwpwpwpwpwpwpwpCpwpSpUpUpUpVpUhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspWpwpwpwpwpwpwpwpCpXpCpSpYpYpYpYpYhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshspZqaqaqbhshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqcqcqcqchsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqcqcqcqchsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab diff --git a/code/ATMOSPHERICS/he_pipes.dm b/code/ATMOSPHERICS/he_pipes.dm index 991eed26913..678ef6660c0 100644 --- a/code/ATMOSPHERICS/he_pipes.dm +++ b/code/ATMOSPHERICS/he_pipes.dm @@ -1,3 +1,6 @@ +//////////// +//HE Pipes +//////////// /obj/machinery/atmospherics/pipe/simple/heat_exchanging icon = 'icons/obj/pipes/heat.dmi' @@ -12,9 +15,27 @@ /obj/machinery/atmospherics/pipe/simple/heat_exchanging/New() ..() - initialize_directions_he = initialize_directions // The auto-detection from /pipe is good enough for a simple HE pipe color = "#404040" +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/SetInitDirections() + switch(dir) + if(SOUTH) + initialize_directions_he = SOUTH|NORTH + if(NORTH) + initialize_directions_he = SOUTH|NORTH + if(EAST) + initialize_directions_he = EAST|WEST + if(WEST) + initialize_directions_he = WEST|EAST + if(NORTHEAST) + initialize_directions_he = NORTH|EAST + if(NORTHWEST) + initialize_directions_he = NORTH|WEST + if(SOUTHEAST) + initialize_directions_he = SOUTH|EAST + if(SOUTHWEST) + initialize_directions_he = SOUTH|WEST + /obj/machinery/atmospherics/pipe/simple/heat_exchanging/initialize() normalize_dir() var/N = 2 @@ -77,7 +98,9 @@ animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) - +//////////////// +//HE Junctions +//////////////// /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction icon = 'icons/obj/pipes/junction.dmi' icon_state = "intact" @@ -85,9 +108,6 @@ minimum_temperature_difference = 300 thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT -/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/New() - ..() - /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/SetInitDirections() switch(dir) if(SOUTH) diff --git a/code/__DEFINES/genetics.dm b/code/__DEFINES/genetics.dm index 9c4080a6cfd..f60dddd0758 100644 --- a/code/__DEFINES/genetics.dm +++ b/code/__DEFINES/genetics.dm @@ -18,9 +18,6 @@ #define STEALTH "Cloak Of Darkness" #define CHAMELEON "Chameleon" #define WACKY "Wacky" -#define JOKE "Joke" -#define VINETA "Vineta" -#define PAPYRUS "Papyrus" #define MUT_MUTE "Mute" #define SMILE "Smile" #define UNINTELLIGABLE "Unintelligable" @@ -64,7 +61,7 @@ #define DNA_FACIAL_HAIR_STYLE_BLOCK 6 #define DNA_HAIR_STYLE_BLOCK 7 -#define DNA_STRUC_ENZYMES_BLOCKS 26 +#define DNA_STRUC_ENZYMES_BLOCKS 23 #define DNA_UNIQUE_ENZYMES_LEN 32 //Transformation proc stuff diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 64c5095397e..e9d95f43aa8 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -97,3 +97,11 @@ #define SOUND_MINIMUM_PRESSURE 10 #define FALLOFF_SOUNDS 1 #define SURROUND_CAP 7 + +//FONTS: +// Used by Paper and PhotoCopier (and PaperBin once a year). +// Used by PDA's Notekeeper. +// Used by NewsCaster and NewsPaper. +#define PEN_FONT "Verdana" +#define CRAYON_FONT "Comic Sans MS" +#define SIGNFONT "Times New Roman" diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index b933c66686b..b310eddc124 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -388,3 +388,34 @@ var/list/binary = list("0","1") temp = findtextEx(haystack, ascii2text(text2ascii(needles,i)), start, end) //Note: ascii2text(text2ascii) is faster than copytext() if(temp) end = temp return end + + +/proc/parsepencode(t, mob/user=null, signfont=SIGNFONT) + if(length(t) < 1) //No input means nothing needs to be parsed + return + + t = replacetext(t, "\[center\]", "
") + t = replacetext(t, "\[/center\]", "
") + t = replacetext(t, "\[br\]", "
") + t = replacetext(t, "\[b\]", "") + t = replacetext(t, "\[/b\]", "") + t = replacetext(t, "\[i\]", "") + t = replacetext(t, "\[/i\]", "") + t = replacetext(t, "\[u\]", "") + t = replacetext(t, "\[/u\]", "") + t = replacetext(t, "\[large\]", "") + t = replacetext(t, "\[/large\]", "") + if(user) + t = replacetext(t, "\[sign\]", "[user.real_name]") + else + t = replacetext(t, "\[sign\]", "") + t = replacetext(t, "\[field\]", "") + + t = replacetext(t, "\[*\]", "
  • ") + t = replacetext(t, "\[hr\]", "
    ") + t = replacetext(t, "\[small\]", "") + t = replacetext(t, "\[/small\]", "") + t = replacetext(t, "\[list\]", "") + + return t \ No newline at end of file diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index e66a8791e0c..ad92db7f1b6 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -47,8 +47,9 @@ var/kick_inactive = 0 //force disconnect for inactive players var/load_jobs_from_txt = 0 var/automute_on = 0 //enables automuting/spam prevention + var/minimal_access_threshold = 0 //If the number of players is larger than this threshold, minimal access will be turned on. var/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access. - var/jobs_have_maint_access = 0 //Who gets maint access? See defines above + var/jobs_have_maint_access = 0 //Who gets maint access? See defines above. var/sec_start_brig = 0 //makes sec start in brig or dept sec posts var/server @@ -395,6 +396,8 @@ config.allow_latejoin_antagonists = 1 if("allow_random_events") config.allow_random_events = 1 + if("minimal_access_threshold") + config.minimal_access_threshold = text2num(value) if("jobs_have_minimal_access") config.jobs_have_minimal_access = 1 if("humans_need_surnames") diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index d1a09895393..178d194afd5 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -211,6 +211,13 @@ var/datum/subsystem/job/SSjob //Scale number of open security officer slots to population setup_officer_positions() + //Jobs will have fewer access permissions if the number of players exceeds the threshold defined in game_options.txt + if(config.minimal_access_threshold) + if(config.minimal_access_threshold > unassigned.len) + config.jobs_have_minimal_access = 0 + else + config.jobs_have_minimal_access = 1 + //Shuffle players and jobs unassigned = shuffle(unassigned) @@ -335,6 +342,8 @@ var/datum/subsystem/job/SSjob H << "To speak on your departments radio, use the :h button. To see others, look closely at your headset." if(job.req_admin_notify) H << "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp." + if(config.minimal_access_threshold) + H << "As this station was initially staffed with a [config.jobs_have_minimal_access ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card." H.update_hud() // Tmp fix for Github issue 1006. TODO: make all procs in update_icons.dm do client.screen |= equipment no matter what. return 1 diff --git a/code/controllers/subsystem/shuttles/supply.dm b/code/controllers/subsystem/shuttles/supply.dm index c7ef12234f5..3aa57e82b16 100644 --- a/code/controllers/subsystem/shuttles/supply.dm +++ b/code/controllers/subsystem/shuttles/supply.dm @@ -181,21 +181,19 @@ /proc/forbidden_atoms_check(atom/A) + var/list/blacklist = list( + /mob/living, + /obj/effect/blob, + /obj/effect/spider/spiderling, + /obj/item/weapon/disk/nuclear, + /obj/machinery/nuclearbomb, + /obj/item/device/radio/beacon, + /obj/machinery/the_singularitygen, + /obj/singularity, + ) if(A) - if(istype(A,/mob/living)) + if(is_type_in_list(A, blacklist)) return 1 - if(istype(A,/obj)) - if(istype(A,/obj/effect/blob)) - return 1 - if(istype(A,/obj/effect/spider/spiderling)) - return 1 - if(istype(A,/obj/item/weapon/disk/nuclear)) - return 1 - if(istype(A,/obj/machinery/nuclearbomb)) - return 1 - if(istype(A,/obj/item/device/radio/beacon)) - return 1 - for(var/thing in A) if(.(thing)) return 1 @@ -203,8 +201,6 @@ return 0 - - /obj/machinery/computer/ordercomp/attack_hand(var/mob/user as mob) if(..()) return diff --git a/code/datums/goon_mutations_disabilities.dm b/code/datums/goon_mutations_disabilities.dm index 8e19a7e13c3..decfd10a987 100644 --- a/code/datums/goon_mutations_disabilities.dm +++ b/code/datums/goon_mutations_disabilities.dm @@ -9,40 +9,6 @@ message = "[message]" return message -/datum/mutation/human/joke - name = "Joke" - quality = MINOR_NEGATIVE - text_gain_indication = "You feel an off sensation in your voicebox." - text_lose_indication = "The off sensation passes." - -/datum/mutation/human/joke/say_mod(var/message) - if(message) - message = "[message]" - return message - -/datum/mutation/human/papyrus - name = "Papyrus" - quality = MINOR_NEGATIVE - text_gain_indication = "You feel an off sensation in your voicebox." - text_lose_indication = "The off sensation passes." - -/datum/mutation/human/papyrus/say_mod(var/message) - if(message) - message = "[message]" - return message - -/datum/mutation/human/vineta - name = "Vineta" - quality = MINOR_NEGATIVE - text_gain_indication = "You feel an off sensation in your voicebox." - text_lose_indication = "The off sensation passes." - -/datum/mutation/human/vineta/say_mod(var/message) - if(message) - message = "[message]" - return message - - /datum/mutation/human/mute name = "Mute" quality = NEGATIVE diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index 4f2750c0c06..16a2d522a6c 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -36,7 +36,7 @@ /datum/recipe var/list/reagents // example: = list("berryjuice" = 5) // do not list same reagent twice var/list/items // example: =list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo - var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut/normal + var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut var/time = 100 // 1/10 part of second diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index b005c7cfc0d..b6d110982cf 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -586,6 +586,13 @@ var/list/uplink_items = list() excludefrom = list(/datum/game_mode/nuclear) surplus = 40 +/datum/uplink_item/badass/syndiecash + name = "Syndicate Briefcase Full of Cash" + desc = "A secure briefcase containing 5000 space credits. Useful for bribing personnel, or purchasing goods and services at lucrative prices. \ + The briefcase also feels a little heavier to hold; it has been manufactured to pack a little bit more of a punch if your client needs some convincing." + item = /obj/item/weapon/storage/secure/briefcase/syndie + cost = 1 + /datum/uplink_item/badass/balloon name = "For showing that you are The Boss" desc = "A useless red balloon with the syndicate logo on it, which can blow the deepest of covers." diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 732d74f7a00..d750748ce3c 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -32,7 +32,7 @@ //check for centcomm shuttles for(var/centcom_shuttle in list("emergency", "pod1", "pod2", "pod3", "pod4", "ferry")) var/obj/docking_port/mobile/M = SSshuttle.getShuttle(centcom_shuttle) - if(src in M.areaInstance) + if(T in M.areaInstance) return 1 //finally check for centcom itself diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm index a7e376e4857..f2704347e88 100644 --- a/code/game/gamemodes/wizard/raginmages.dm +++ b/code/game/gamemodes/wizard/raginmages.dm @@ -13,13 +13,9 @@ world << "The Space Wizard Federation is pissed, help defeat all the space wizards!" /datum/game_mode/wizard/raginmages/post_setup() - var/playercount = 0 ..() if(!max_mages) - for(var/mob/living/player in mob_list) - if (player.client && player.stat != 2) - playercount += 1 - max_mages = round(playercount / 5) + max_mages = round(num_players() / 5) /datum/game_mode/wizard/raginmages/greet_wizard(var/datum/mind/wizard, var/you_are=1) if (you_are) @@ -40,9 +36,9 @@ continue if(istype(wizard.current,/mob/living/carbon/brain)) continue - if(wizard.current.stat==2) + if(wizard.current.stat==DEAD) continue - if(wizard.current.stat==1) + if(wizard.current.stat==UNCONSCIOUS) if(wizard.current.health < 0) wizard.current << "The Space Wizard Federation is upset with your performance and have terminated your employment." wizard.current.stat = 2 @@ -55,7 +51,7 @@ time_checked = world.time make_more_mages() else - if(wizards.len >= max_mages) + if(mages_made >= max_mages) finished = 1 return 1 else diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 4c67f3feac4..b5fd935fbbe 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -18,7 +18,7 @@ Assistant H.equip_to_slot_or_del(new /obj/item/clothing/under/color/random(H), slot_w_uniform) /datum/job/assistant/get_access() - if(config.jobs_have_maint_access & ASSISTANTS_HAVE_MAINT_ACCESS) //Config has assistant maint access set + if((config.jobs_have_maint_access & ASSISTANTS_HAVE_MAINT_ACCESS) || !config.jobs_have_minimal_access) //Config has assistant maint access set . = ..() . |= list(access_maint_tunnels) else diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 6eeded8c1ba..f94c21e1d2f 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -70,7 +70,7 @@ Head of Personnel default_pda = /obj/item/device/pda/heads/hop default_headset = /obj/item/device/radio/headset/heads/hop - access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, access_weapons, + access = list(access_security, access_sec_doors, access_court, access_weapons, access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 836dca7e32e..40aea9af95a 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -15,8 +15,8 @@ Bartender default_pda = /obj/item/device/pda/bar default_headset = /obj/item/device/radio/headset/headset_srv - access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_mineral_storeroom, access_weapons) - minimal_access = list(access_bar, access_mineral_storeroom) + access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons) + minimal_access = list(access_bar) /datum/job/bartender/equip_backpack(var/mob/living/carbon/human/H) switch(H.backbag) @@ -127,7 +127,7 @@ Clown default_pda = /obj/item/device/pda/clown default_backpack = /obj/item/weapon/storage/backpack/clown - access = list(access_theatre, access_maint_tunnels) + access = list(access_theatre) minimal_access = list(access_theatre) /datum/job/clown/equip_backpack(var/mob/living/carbon/human/H) @@ -169,7 +169,7 @@ Mime default_pda = /obj/item/device/pda/mime default_backpack = /obj/item/weapon/storage/backpack/mime - access = list(access_theatre, access_maint_tunnels) + access = list(access_theatre) minimal_access = list(access_theatre) /datum/job/mime/equip_backpack(var/mob/living/carbon/human/H) @@ -209,6 +209,7 @@ Janitor spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" + var/global/janitors = 1 default_pda = /obj/item/device/pda/janitor default_headset = /obj/item/device/radio/headset/headset_srv @@ -217,6 +218,14 @@ Janitor minimal_access = list(access_janitor, access_maint_tunnels) /datum/job/janitor/equip_items(var/mob/living/carbon/human/H) + janitors += 1 + + if(H.backbag != 1) + switch(janitors) + if(1) + H.equip_to_slot_or_del(new /obj/item/key/janitor(H), slot_in_backpack) + else + H.equip_to_slot_or_del(new /obj/item/weapon/soap/deluxe(H), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes) @@ -236,7 +245,7 @@ Librarian default_pda = /obj/item/device/pda/librarian - access = list(access_library, access_maint_tunnels) + access = list(access_library) minimal_access = list(access_library) /datum/job/librarian/equip_items(var/mob/living/carbon/human/H) @@ -264,7 +273,7 @@ Lawyer default_pda = /obj/item/device/pda/lawyer default_headset = /obj/item/device/radio/headset/headset_sec - access = list(access_lawyer, access_court, access_sec_doors, access_maint_tunnels) + access = list(access_lawyer, access_court, access_sec_doors) minimal_access = list(access_lawyer, access_court, access_sec_doors) /datum/job/lawyer/equip_items(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index b68e514ef6e..26225a71971 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -15,7 +15,7 @@ Chaplain default_pda = /obj/item/device/pda/chaplain - access = list(access_morgue, access_chapel_office, access_crematorium, access_maint_tunnels) + access = list(access_morgue, access_chapel_office, access_crematorium) minimal_access = list(access_morgue, access_chapel_office, access_crematorium) //Pretty bible names diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index d58aff0ac06..0136e52eb28 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -63,7 +63,7 @@ Station Engineer default_satchel = /obj/item/weapon/storage/backpack/satchel_eng default_storagebox = /obj/item/weapon/storage/box/engineer - access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, + access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_tcomsat) minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_tcomsat) @@ -94,7 +94,7 @@ Atmospheric Technician default_headset = /obj/item/device/radio/headset/headset_eng default_storagebox = /obj/item/weapon/storage/box/engineer - access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, + access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics) minimal_access = list(access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 5c2d1ecff74..6e11a228224 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -57,7 +57,7 @@ Medical Doctor default_backpack = /obj/item/weapon/storage/backpack/medic default_satchel = /obj/item/weapon/storage/backpack/satchel_med - access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) + access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_mineral_storeroom) minimal_access = list(access_medical, access_morgue, access_surgery) /datum/job/doctor/equip_items(var/mob/living/carbon/human/H) @@ -109,7 +109,7 @@ Geneticist default_pda = /obj/item/device/pda/geneticist default_headset = /obj/item/device/radio/headset/headset_medsci - access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) + access = list(access_medical, access_morgue, access_chemistry, access_virology, access_genetics, access_research, access_xenobiology, access_robotics, access_mineral_storeroom, access_tech_storage) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) /datum/job/geneticist/equip_items(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 99908da4248..1d0f43c62e3 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -57,7 +57,7 @@ Scientist default_pda = /obj/item/device/pda/toxins default_headset = /obj/item/device/radio/headset/headset_sci - access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom) + access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom, access_tech_storage, access_genetics) minimal_access = list(access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom) /datum/job/scientist/equip_items(var/mob/living/carbon/human/H) @@ -82,7 +82,7 @@ Roboticist default_pda = /obj/item/device/pda/roboticist default_headset = /obj/item/device/radio/headset/headset_sci - access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research, access_mineral_storeroom) + access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research, access_mineral_storeroom, access_xenobiology, access_genetics) minimal_access = list(access_robotics, access_tech_storage, access_morgue, access_research, access_mineral_storeroom) /datum/job/roboticist/equip_items(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 972279415d7..d704935fca8 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -75,7 +75,7 @@ Warden default_backpack = /obj/item/weapon/storage/backpack/security default_satchel = /obj/item/weapon/storage/backpack/satchel_sec - access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons) + access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers) minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_weapons) //See /datum/job/warden/get_access() /datum/job/warden/equip_items(var/mob/living/carbon/human/H) @@ -121,7 +121,7 @@ Detective default_pda = /obj/item/device/pda/detective default_headset = /obj/item/device/radio/headset/headset_sec - access = list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court, access_weapons) + access = list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court, access_weapons, access_brig, access_security) minimal_access = list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court, access_weapons) /datum/job/detective/equip_items(var/mob/living/carbon/human/H) @@ -171,7 +171,7 @@ Security Officer default_backpack = /obj/item/weapon/storage/backpack/security default_satchel = /obj/item/weapon/storage/backpack/satchel_sec - access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_weapons) + access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers) minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_weapons) //But see /datum/job/warden/get_access() /datum/job/officer/equip_items(var/mob/living/carbon/human/H) @@ -179,7 +179,8 @@ Security Officer H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec(H), slot_head) +// H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/advtaser(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store) diff --git a/code/game/jobs/job/supply.dm b/code/game/jobs/job/supply.dm index 38710b0738e..f61b4a08f74 100644 --- a/code/game/jobs/job/supply.dm +++ b/code/game/jobs/job/supply.dm @@ -15,8 +15,8 @@ Quartermaster default_pda = /obj/item/device/pda/quartermaster default_headset = /obj/item/device/radio/headset/headset_cargo - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) - minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom) + minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom) /datum/job/qm/equip_items(var/mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform) @@ -41,7 +41,7 @@ Cargo Technician default_pda = /obj/item/device/pda/cargo default_headset = /obj/item/device/radio/headset/headset_cargo - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom) minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) /datum/job/cargo_tech/equip_items(var/mob/living/carbon/human/H) @@ -68,8 +68,8 @@ Shaft Miner default_satchel = /obj/item/weapon/storage/backpack/satchel_eng default_storagebox = /obj/item/weapon/storage/box/engineer - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) - minimal_access = list(access_mining, access_mint, access_mining_station, access_mailsorting, access_mineral_storeroom) + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom) + minimal_access = list(access_mining, access_mining_station, access_mailsorting, access_mineral_storeroom) /datum/job/mining/equip_items(var/mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index b7e7b31d012..6c1586348e8 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -218,8 +218,8 @@ src.occupant.adjustBrainLoss(-((speed_coeff/2))) //So clones don't die of oxyloss in a running pod. - if (src.occupant.reagents.get_reagent_amount("epinephrine") < 30) - src.occupant.reagents.add_reagent("epinephrine", 60) + if (src.occupant.reagents.get_reagent_amount("salbutamol") < 30) + src.occupant.reagents.add_reagent("salbutamol", 60) use_power(7500) //This might need tweaking. return @@ -408,4 +408,4 @@ A:malfunction() */ -#undef CLONE_INITIAL_DAMAGE \ No newline at end of file +#undef CLONE_INITIAL_DAMAGE diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index cd62f49c314..6c271656114 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -303,7 +303,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co dat+="Creating new Feed Message..." dat+="
    Receiving Channel: [src.channel_name]
    " //MARK dat+="Message Author: [src.scanned_user]
    " - dat+="Message Body: [src.msg]
    " + dat+="Message Body:
    [parsepencode(src.msg, user, SIGNFONT)]
    " dat+="Attach Photo: [(src.photo ? "Photo Attached" : "No Photo")]
    " dat+="Comments [allow_comments ? "Enabled" : "Disabled"]
    " dat+="
    Submit

    Cancel
    " @@ -565,8 +565,10 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co src.updateUsrDialog() else if(href_list["set_new_message"]) - src.msg = trim(stripped_input(usr, "Write your Feed story", "Network Channel Handler")) - src.updateUsrDialog() + var/temp_message = trim(stripped_multiline_input(usr, "Write your Feed story", "Network Channel Handler", src.msg)) + if(temp_message) + src.msg = temp_message + src.updateUsrDialog() else if(href_list["set_attachment"]) AttachPhoto(usr) @@ -576,9 +578,10 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(src.msg =="" || src.msg=="\[REDACTED\]" || src.scanned_user == "Unknown" || src.channel_name == "" ) src.screen=6 else - news_network.SubmitArticle(msg, scanned_user, channel_name, photo, allow_comments) + news_network.SubmitArticle("[parsepencode(src.msg, usr, SIGNFONT)]", scanned_user, channel_name, photo, allow_comments) feedback_inc("newscaster_stories",1) src.screen=4 + src.msg = "" src.updateUsrDialog() else if(href_list["create_channel"]) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index de4b1fe11ac..d3b205e76d0 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -26,12 +26,14 @@ Buildable meters #define DISP_PIPE_STRAIGHT 0 #define DISP_PIPE_BENT 1 #define DISP_JUNCTION 2 -#define DISP_YJUNCTION 3 -#define DISP_END_TRUNK 4 -#define DISP_END_BIN 5 -#define DISP_END_OUTLET 6 -#define DISP_END_CHUTE 7 -#define DISP_SORTJUNCTION 8 +#define DISP_JUNCTION_FLIP 3 +#define DISP_YJUNCTION 4 +#define DISP_END_TRUNK 5 +#define DISP_END_BIN 6 +#define DISP_END_OUTLET 7 +#define DISP_END_CHUTE 8 +#define DISP_SORTJUNCTION 9 +#define DISP_SORTJUNCTION_FLIP 10 /obj/item/pipe name = "pipe" diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 9fc80e1f630..cc9b6a575a5 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -145,22 +145,20 @@ Nah return 1 var/dat = {"Disposal Pipes

    -Pipe
    -Bent Pipe
    -Junction
    -Y-Junction
    -Trunk
    -Bin
    -Outlet
    -Chute
    -Sort Junction
    +Pipe
    +Bent Pipe
    +Junction
    +Y-Junction
    +Trunk
    +Bin
    +Outlet
    +Chute
    +Sort Junction
    "} user << browse("[src][dat]", "window=pipedispenser") return -// 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk - /obj/machinery/pipedispenser/disposal/Topic(href, href_list) if(..()) @@ -170,7 +168,7 @@ Nah if(href_list["dmake"]) if(!wait) var/p_type = text2num(href_list["dmake"]) - var/obj/structure/disposalconstruct/C = new (src.loc,p_type+1) + var/obj/structure/disposalconstruct/C = new (src.loc,p_type) if(!C.can_place()) usr << "There's not enough room to build that here!" diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 01fcc5385e6..0c572785c7e 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -188,7 +188,7 @@ if(R.module.emag) if(istype(R.module.emag, /obj/item/weapon/reagent_containers/spray)) var/obj/item/weapon/reagent_containers/spray/S = R.module.emag - if(S.name == "polyacid spray") - S.reagents.add_reagent("pacid", 2 * coeff) + if(S.name == "Fluacid spray") + S.reagents.add_reagent("facid", 2 * coeff) else if(S.name == "lube spray") S.reagents.add_reagent("lube", 2 * coeff) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 0d7e99f079d..e33f23334a8 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -800,7 +800,7 @@ icon_deny = "sec-deny" req_access_txt = "1" products = list(/obj/item/weapon/restraints/handcuffs = 8,/obj/item/weapon/restraints/handcuffs/cable/zipties = 10,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash/handheld = 5, - /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4) + /obj/item/weapon/reagent_containers/food/snacks/donut = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4) contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/fancy/donut_box = 2) /obj/machinery/vending/hydronutrients @@ -897,8 +897,8 @@ desc = "Old sweet water vending machine" icon_state = "sovietsoda" product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem." - products = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda = 30) - contraband = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola = 20) + products = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/soda = 30) + contraband = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/cola = 20) /obj/machinery/vending/tool name = "\improper YouTool" @@ -970,8 +970,9 @@ /obj/item/clothing/under/sundress=2,/obj/item/clothing/under/stripeddress = 1, /obj/item/clothing/under/sailordress = 1, /obj/item/clothing/under/redeveninggown = 1, /obj/item/clothing/under/blacktango=1,/obj/item/clothing/suit/jacket=3, /obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1,/obj/item/clothing/suit/poncho=1, /obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,/obj/item/clothing/shoes/sneakers/black=4, - /obj/item/clothing/shoes/sandal=1) - contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1) + /obj/item/clothing/shoes/sandal=1, + /obj/item/weapon/storage/belt/fannypack=1, /obj/item/weapon/storage/belt/fannypack/blue=1, /obj/item/weapon/storage/belt/fannypack/red=1) + contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/weapon/storage/belt/fannypack/black=1) premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1) refill_canister = /obj/item/weapon/vending_refill/clothing diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 81ccbae5f28..88f4c35a6f3 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -110,7 +110,7 @@ else if(istype(target, /turf/simulated/mineral)) for(var/turf/simulated/mineral/M in range(chassis,1)) if(get_dir(chassis,M)&chassis.dir) - M.gets_drilled() + M.gets_drilled(chassis.occupant) log_message("Drilled through [target]") if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment) var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 4c21191bc6f..176fd79b61b 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -115,5 +115,6 @@ /obj/item/weapon/weldingtool = 3, /obj/item/weapon/wirecutters = 1, /obj/item/weapon/wrench = 4, + /obj/item/weapon/relic = 3, "" = 11 ) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 3fc05862b2a..7a00402078e 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -34,6 +34,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/mimeamt = 0 //How many silence left when infected with mime.exe var/note = "Congratulations, your station has chosen the Thinktronic 5230 Personal Data Assistant!" //Current note in the notepad function var/notehtml = "" + var/notescanned = 0 // True if what is in the notekeeper was from a paper. var/cart = "" //A place to stick cartridge menu information var/detonate = 1 // Can the PDA be blown up? var/hidden = 0 // Is the PDA hidden from the PDA list? @@ -368,12 +369,14 @@ var/global/list/obj/item/device/pda/PDAs = list() dat += "" if (1) - dat += "

    Notekeeper V2.1

    " - dat += " Edit
    " - dat += note + dat += "

    Notekeeper V2.2

    " + dat += "Edit
    " + if(notescanned) + dat += "(This is a scanned image, editing it may cause some text formatting to change.)
    " + dat += "
    [(!notehtml ? note : notehtml)]" if (2) - dat += "

    SpaceMessenger V3.9.5

    " + dat += "

    SpaceMessenger V3.9.6

    " dat += " Ringer: [silent == 1 ? "Off" : "On"] | " dat += " Send / Receive: [toff == 1 ? "Off" : "On"] | " dat += " Set Ringtone | " @@ -409,7 +412,7 @@ var/global/list/obj/item/device/pda/PDAs = list() dat += "None detected.
    " if(21) - dat += "

    SpaceMessenger V3.9.5

    " + dat += "

    SpaceMessenger V3.9.6

    " dat += " Clear Messages" dat += "

    Messages

    " @@ -448,12 +451,12 @@ var/global/list/obj/item/device/pda/PDAs = list() if (5) new_ntrc_msg = 0 - dat += "

    SS13 Nanotrasen Relay Chat Network

    " + dat += "

    Nanotrasen Relay Chat Network V1.2

    " dat += "[nick] | " dat += "[chat_channel] | " dat += "Write message | " - dat += "Help
    " + dat += "Help

    " if(chat_channel) dat += ntrclog[chat_channel] @@ -563,18 +566,21 @@ var/global/list/obj/item/device/pda/PDAs = list() else if((!isnull(cartridge)) && (cartridge.access_atmos)) scanmode = 5 -//MESSENGER/NOTE FUNCTIONS=================================== +//NOTEKEEPER FUNCTIONS=================================== if ("Edit") - var/n = input(U, "Please enter message", name, notehtml) as message + var/n = stripped_multiline_input(U, "Please enter message", name, note) if (in_range(src, U) && loc == U) - n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN) - if (mode == 1) - note = replacetext(n, "\n", "
    ") - notehtml = n + if (mode == 1 && n) + note = n + notehtml = parsepencode(n, U, SIGNFONT) + notescanned = 0 else U << browse(null, "window=pda") return + +//MESSENGER FUNCTIONS=================================== + if("Toggle Messenger") toff = !toff if("Toggle Ringer")//If viewing texts then erase them, if not then toggle silent status @@ -631,11 +637,12 @@ var/global/list/obj/item/device/pda/PDAs = list() //CHATROOM FUNCTIONS==================================== if("Set Nick") - nick = stripped_input(U, "Please enter nickname", name, null, 8) + var/n = trim(stripped_input(U, "Please enter nickname", name, nick, 9)) + if(n) + nick = n if("Set Channel") - var/t = stripped_input(U, "Please enter channel", name, chat_channel) - + var/t = replacetext(trim(stripped_input(U, "Please enter channel", name, chat_channel, 15)), " ", "_") if(t) var/datum/chatroom/C = chatchannels[chat_channel] var/ret = C.parse_msg(src, nick, "/join [t]") @@ -644,18 +651,19 @@ var/global/list/obj/item/device/pda/PDAs = list() chat_channel = ret if("NTRC Message") - var/t = msg_input(U) as text - var/datum/chatroom/C = chatchannels[chat_channel] - if(C) - var/ret = C.parse_msg(src,nick,t) - if(findtextEx(ret,"BAD_",1,5)) - ntrclog[chat_channel] = "[ret]
    " + ntrclog[chat_channel] - else if(ret in chatchannels) - chat_channel = ret + var/t = msg_input(U) + if(t) + var/datum/chatroom/C = chatchannels[chat_channel] + if(C) + var/ret = C.parse_msg(src, nick, t) + if(findtextEx(ret, "BAD_", 1, 5)) + ntrclog[chat_channel] = "[ret]
    " + ntrclog[chat_channel] + else if(ret in chatchannels) + chat_channel = ret if("NTRC Help") var/helptext = "NTRC Commands:

    " - helptext += "/join #channel
    /register
    /log amountoflines

    " + helptext += "/join \[#\](channel name)
    /register
    /log (amount of lines)

    " usr << browse(helptext, "window=ntrchelp;size=200x200;border=1;can_resize=1;can_close=1;can_minimize=1") @@ -755,8 +763,7 @@ var/global/list/obj/item/device/pda/PDAs = list() id = null /obj/item/device/pda/proc/msg_input(var/mob/living/U = usr) - var/t = input(U, "Please enter message", name, null) as null|text - t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) + var/t = stripped_input(U, "Please enter message", name, null, MAX_MESSAGE_LEN) if (!t || toff) return if (!in_range(src, U) && loc != U) @@ -991,8 +998,17 @@ var/global/list/obj/item/device/pda/PDAs = list() if(T.ptank) atmosanalyzer_scan(T.ptank.air_contents, user, T) if (!scanmode && istype(A, /obj/item/weapon/paper) && owner) - note = A:info - user << "Paper scanned." //concept of scanning paper copyright brainoblivion 2009 + if (!A:info) + user << "Unable to scan. Paper is blank." + return + notehtml = A:info + note = replacetext(notehtml, "
    ", "\[br\]") + note = replacetext(note, "
  • ", "\[*\]") + note = replacetext(note, "", "\[/list\]") + note = strip_html_properly(note) + notescanned = 1 + user << "Paper scanned. Saved to PDA's notekeeper." //concept of scanning paper copyright brainoblivion 2009 /obj/item/device/pda/proc/explode() //This needs tuning. @@ -1169,4 +1185,4 @@ var/global/list/obj/item/device/pda/PDAs = list() for(var/obj/item/device/pda/P in PDAs) if(!P.owner || P.toff || P.hidden) continue . += P - return . + return . \ No newline at end of file diff --git a/code/game/objects/items/devices/PDA/chatroom.dm b/code/game/objects/items/devices/PDA/chatroom.dm index cc82b4c4c96..1cc8d642cd3 100644 --- a/code/game/objects/items/devices/PDA/chatroom.dm +++ b/code/game/objects/items/devices/PDA/chatroom.dm @@ -25,14 +25,29 @@ var/list/chatchannels = list(default_ntrc_chatroom.name = default_ntrc_chatroom) MS.send_chat_message(nick,name,message) - var/list/cmd=text2list(message, " ") - switch(cmd[1]) - if("/register") - return register_auth(client,nick) - if("/join") - if(cmd[2]) return channel_join(client,nick,cmd[2]) - if("/log") - if(cmd[2]) return get_log(client,nick,cmd[2]) + if(findtext(message,"/",1,2)) + var/list/cmd=text2list(message, " ") + switch(cmd[1]) + if("/register") + if(cmd.len == 1) + return register_auth(client,nick) + else + return "BAD_COMMAND_ARGUMENTS" + if("/join") + if(cmd.len == 2 && cmd[2]) + if((findtext(cmd[2],"#",1,2) && length(cmd[2]) > 1) || (!findtext(cmd[2],"#",1,2) && length(cmd[2]) > 0)) + return channel_join(client,nick,copytext(cmd[2], 1, 15)) + else // Happens only if "" or "#" is entered as a channel name. + return "BAD_CHANNEL" + else + return "BAD_COMMAND_ARGUMENTS" + if("/log") + if(cmd.len == 2 && cmd[2]) + return get_log(client,nick,cmd[2]) + else + return "BAD_COMMAND_ARGUMENTS" + else + return "BAD_COMMAND" return send_message(client,nick,message) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 24eae9b83a9..9d656406bbf 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -105,7 +105,7 @@ /obj/item/device/paicard/proc/setPersonality(mob/living/silicon/pai/personality) src.pai = personality - src.overlays += "pai-happy" + src.overlays += "pai-null" /obj/item/device/paicard/proc/removePersonality() src.pai = null @@ -125,6 +125,7 @@ if(7) src.overlays += "pai-sad" if(8) src.overlays += "pai-angry" if(9) src.overlays += "pai-what" + if(10) src.overlays += "pai-null" /obj/item/device/paicard/proc/alertUpdate() visible_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "[src] bleeps electronically.", 2) diff --git a/code/game/objects/items/devices/violin.dm b/code/game/objects/items/devices/violin.dm index 09fd77c6d75..dcc3c309c1e 100644 --- a/code/game/objects/items/devices/violin.dm +++ b/code/game/objects/items/devices/violin.dm @@ -8,6 +8,7 @@ item_state = "violin" force = 10 var/datum/song/handheld/song + hitsound = "swing_hit" /obj/item/device/violin/New() song = new("violin", src) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 10adc58768c..ae6c4f08a9a 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -146,7 +146,7 @@ usr << "There's no mounting point for the module!" return 0 else - R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide + R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide(R.module) for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules) R.internals = src R.icon_state="Miner+j" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 9c5b5e4d3c0..e96d3a290f5 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -26,6 +26,15 @@ icon_state = "sheet-monkey" origin_tech = null +var/global/list/datum/stack_recipe/monkey_recipes = list ( \ + new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, on_floor = 1), \ + new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2, on_floor = 1), \ + ) + +/obj/item/stack/sheet/animalhide/monkey/New(var/loc, var/amount=null) + recipes = monkey_recipes + return ..() + /obj/item/stack/sheet/animalhide/lizard name = "lizard skin" desc = "Sssssss..." @@ -40,6 +49,15 @@ icon_state = "sheet-xeno" origin_tech = null +var/global/list/datum/stack_recipe/xeno_recipes = list ( \ + new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1, on_floor = 1), \ + new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/xenos, 2, on_floor = 1), \ + ) + +/obj/item/stack/sheet/animalhide/xeno/New(var/loc, var/amount=null) + recipes = xeno_recipes + return ..() + //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? /obj/item/stack/sheet/xenochitin name = "alien chitin" diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm index 6950684b6c9..9ffb4a72975 100644 --- a/code/game/objects/items/stacks/tiles/plasteel.dm +++ b/code/game/objects/items/stacks/tiles/plasteel.dm @@ -1,3 +1,5 @@ +/obj/item/stack/tile + /obj/item/stack/tile/plasteel name = "floor tile" singular_name = "floor tile" @@ -12,6 +14,7 @@ flags = CONDUCT max_amount = 60 turf_type = /turf/simulated/floor/plasteel + mineralType = "metal" /obj/item/stack/tile/plasteel/cyborg desc = "The ground you walk on" //Not the usual floor tile desc as that refers to throwing, Cyborgs can't do that - RR @@ -25,27 +28,4 @@ src.pixel_y = rand(1, 14) return -/obj/item/stack/tile/plasteel/attackby(obj/item/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - - if(get_amount() < 4) - user << "You need at least four tiles to do this." - return - - if(WT.remove_fuel(0,user)) - var/obj/item/stack/sheet/metal/new_item = new(usr.loc) - new_item.add_to_stacks(usr) - user.visible_message("[user.name] shaped [src] into metal with the weldingtool.", \ - "You shaped [src] into metal with the weldingtool.", \ - "You hear welding.") - var/obj/item/stack/rods/R = src - src = null - var/replace = (user.get_inactive_hand()==R) - R.use(4) - if (!R && replace) - user.put_in_hands(new_item) - return - else - ..() diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 3a94618d548..e7d29adf678 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -11,6 +11,7 @@ max_amount = 60 origin_tech = "plasma=1" turf_type = /turf/simulated/floor/mineral/plasma + mineralType = "plasma" /obj/item/stack/tile/mineral/uranium name = "uranium tile" @@ -25,6 +26,7 @@ max_amount = 60 origin_tech = "material=1" turf_type = /turf/simulated/floor/mineral/uranium + mineralType = "uranium" /obj/item/stack/tile/mineral/gold name = "gold tile" @@ -39,6 +41,7 @@ max_amount = 60 origin_tech = "material=1" turf_type = /turf/simulated/floor/mineral/gold + mineralType = "gold" /obj/item/stack/tile/mineral/silver name = "silver tile" @@ -53,6 +56,7 @@ max_amount = 60 origin_tech = "material=1" turf_type = /turf/simulated/floor/mineral/silver + mineralType = "silver" /obj/item/stack/tile/mineral/diamond name = "diamond tile" @@ -67,6 +71,7 @@ max_amount = 60 origin_tech = "material=2" turf_type = /turf/simulated/floor/mineral/diamond + mineralType = "diamond" /obj/item/stack/tile/mineral/bananium name = "bananium tile" @@ -81,4 +86,5 @@ max_amount = 60 origin_tech = "material=1" turf_type = /turf/simulated/floor/mineral/bananium + mineralType = "bananium" diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index b446f5d2f84..ca7c35d65f5 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -14,6 +14,59 @@ singular_name = "broken tile" desc = "A broken tile. This should not exist." var/turf_type = null + var/mineralType = null + +/obj/item/stack/tile/attackby(obj/item/W as obj, mob/user as mob) + + if (istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + + if(get_amount() < 4) + user << "You need at least four tiles to do this." + return + + if(is_hot(WT) && !mineralType) + user << "You can not reform this." + return + + if(WT.remove_fuel(0,user)) + + if(mineralType == "plasma") + atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 5) + user.visible_message("[user.name] set the plasma tiles on fire!", \ + "You set the plasma tiles on fire!") + qdel(src) + return + + if (mineralType == "metal") + var/obj/item/stack/sheet/metal/new_item = new(user.loc) + new_item.add_to_stacks(user) + user.visible_message("[user.name] shaped [src] into metal with the weldingtool.", \ + "You shaped [src] into metal with the weldingtool.", \ + "You hear welding.") + var/obj/item/stack/rods/R = src + src = null + var/replace = (user.get_inactive_hand()==R) + R.use(4) + if (!R && replace) + user.put_in_hands(new_item) + + else + var/sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineralType]") + var/obj/item/stack/sheet/mineral/new_item = new sheet_type(user.loc) + new_item.add_to_stacks(user) + user.visible_message("[user.name] shaped [src] into a sheet with the weldingtool.", \ + "You shaped [src] into a sheet with the weldingtool.", \ + "You hear welding.") + var/obj/item/stack/rods/R = src + src = null + var/replace = (user.get_inactive_hand()==R) + R.use(4) + if (!R && replace) + user.put_in_hands(new_item) + return + else + ..() /* * Grass diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index e8a65b3e6f3..219e5bdacaa 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -54,7 +54,7 @@ if(O.reagents.total_volume < 1) user << "The [O] is empty." else if(O.reagents.total_volume >= 1) - if(O.reagents.has_reagent("pacid", 1)) + if(O.reagents.has_reagent("facid", 1)) user << "The acid chews through the balloon!" O.reagents.reaction(user) qdel(src) diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index b16acd7a48e..b601edeeb0d 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -48,12 +48,14 @@ var/global/list/disposalpipeID2State=list( "pipe-s", "pipe-c", "pipe-j1", + "pipe-j2", "pipe-y", "pipe-t", "disposal", "outlet", "intake", - "pipe-j1s" + "pipe-j1s", + "pipe-j2s" ) /datum/pipe_info/disposal @@ -65,7 +67,7 @@ var/global/list/disposalpipeID2State=list( src.icon_state=disposalpipeID2State[pid+1] src.dir=2 src.dirtype=dt - if(pid<5 || pid>7) + if(pidDISP_END_CHUTE) icon_state = "con[icon_state]" /datum/pipe_info/disposal/Render(var/dispenser,var/label) @@ -400,7 +402,7 @@ var/global/list/RPD_recipes=list( return /obj/item/weapon/pipe_dispenser/Topic(href, href_list) - if(usr.stat || usr.restrained()) + if(!usr.canUseTopic(src)) usr << browse(null, "window=pipedispenser") return usr.set_machine(src) @@ -459,10 +461,13 @@ var/global/list/RPD_recipes=list( /obj/item/weapon/pipe_dispenser/afterattack(atom/A, mob/user) - if(!in_range(A,user)) - return - if(loc != user) - return + if(!in_range(A,user) || loc != user) + return 0 + + if(!user.IsAdvancedToolUser()) + user << "You don't have the dexterity to do this!" + return 0 + if(istype(A,/area/shuttle)||istype(A,/turf/space/transit)) return 0 @@ -528,7 +533,7 @@ var/global/list/RPD_recipes=list( user << "Building Pipes..." playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 20)) - var/obj/structure/disposalconstruct/C = new (A,p_type+1) + var/obj/structure/disposalconstruct/C = new (A,p_type,p_dir) if(!C.can_place()) user << "There's not enough room to build that here!" @@ -536,9 +541,6 @@ var/global/list/RPD_recipes=list( return 0 activate() - // This may still produce runtimes, but I checked and /obj/structure/disposalconstruct - // DOES have a dir property, inherited from /obj/structure. - N3X - C.dir=p_dir C.add_fingerprint(usr) C.update() diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 6cb72c98d44..f232c647fe8 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -190,37 +190,25 @@ update_label("John Doe", "Clowny") New() access = get_all_centcom_access() ..() -/obj/item/weapon/card/id/ertsCommand +/obj/item/weapon/card/id/ert name = "\improper Centcom ID" desc = "A ERT ID card" icon_state = "centcom" registered_name = "Emergency Response Team Commander" assignment = "Emergency Response Team Commander" - access = list(access_sec_doors, access_engine, access_medical) + New() access = get_all_accesses() -/obj/item/weapon/card/id/ertsSecurity - name = "\improper Centcom ID" - desc = "A ERT ID card" - icon_state = "centcom" +/obj/item/weapon/card/id/ert/Security registered_name = "Security Response Officer" assignment = "Security Response Officer" - access = list(access_sec_doors) -/obj/item/weapon/card/id/ertsEngineer - name = "\improper Centcom ID" - desc = "A ERT ID card" - icon_state = "centcom" +/obj/item/weapon/card/id/ert/Engineer registered_name = "Engineer Response Officer" assignment = "Engineer Response Officer" - access = list(access_engine) -/obj/item/weapon/card/id/ertsMedical - name = "\improper Centcom ID" - desc = "A ERT ID card" - icon_state = "centcom" +/obj/item/weapon/card/id/ert/Medical registered_name = "Medical Response Officer" assignment = "Medical Response Officer" - access = list(access_medical) /obj/item/weapon/card/id/prisoner name = "prisoner ID card" diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index df21b3dc5dd..7ea19cbf78c 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -49,20 +49,20 @@ /obj/item/weapon/defibrillator/proc/update_overlays() overlays.Cut() if(!on) - overlays += "defibunit-paddles" + overlays += "[initial(icon_state)]-paddles" if(powered) - overlays += "defibunit-powered" + overlays += "[initial(icon_state)]-powered" if(!bcell) - overlays += "defibunit-nocell" + overlays += "[initial(icon_state)]-nocell" if(!safety) - overlays += "defibunit-emagged" + overlays += "[initial(icon_state)]-emagged" /obj/item/weapon/defibrillator/proc/update_charge() if(powered) //so it doesn't show charge if it's unpowered if(bcell) var/ratio = bcell.charge / bcell.maxcharge ratio = Ceiling(ratio*4) * 25 - overlays += "defibunit-charge[ratio]" + overlays += "[initial(icon_state)]-charge[ratio]" /obj/item/weapon/defibrillator/CheckParts() bcell = locate(/obj/item/weapon/stock_parts/cell) in contents @@ -221,6 +221,20 @@ paddles.update_icon() update_icon() +/obj/item/weapon/defibrillator/combatdefibrillator + name = "combat defibrillator" + desc = "A expensive combat oriented defibrillator. It is more compact that civilian models." + icon_state = "combatdefibunit" + item_state = "combatdefibunit" + w_class = 3 + +/obj/item/weapon/defibrillator/combatdefibrillator/loaded/New() + ..() + paddles = make_paddles() + bcell = new(src) + update_icon() + return + //paddles /obj/item/weapon/twohanded/shockpaddles diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index ded1bc0db3f..33308afbfc7 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -288,42 +288,6 @@ ..() add_mutations.Add(mutations_list[WACKY]) -/obj/item/weapon/dnainjector/antijoke - name = "\improper DNA injector (Anti-joke)" - New() - ..() - remove_mutations.Add(mutations_list[JOKE]) - -/obj/item/weapon/dnainjector/jokemut - name = "\improper DNA injector (Joke)" - New() - ..() - add_mutations.Add(mutations_list[JOKE]) - -/obj/item/weapon/dnainjector/antipapyrus - name = "\improper DNA injector (Anti-Papyrus)" - New() - ..() - remove_mutations.Add(mutations_list[PAPYRUS]) - -/obj/item/weapon/dnainjector/papyrusmut - name = "\improper DNA injector (Papyrus)" - New() - ..() - add_mutations.Add(mutations_list[PAPYRUS]) - -/obj/item/weapon/dnainjector/antivineta - name = "\improper DNA injector (Anti-Vineta)" - New() - ..() - remove_mutations.Add(mutations_list[VINETA]) - -/obj/item/weapon/dnainjector/vinetamut - name = "\improper DNA injector (Vineta)" - New() - ..() - add_mutations.Add(mutations_list[VINETA]) - /obj/item/weapon/dnainjector/antimute name = "\improper DNA injector (Anti-Mute)" New() diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index c56027936ce..2098d686ea9 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -268,7 +268,7 @@ B1.reagents.add_reagent("aluminium", 30) B2.reagents.add_reagent("foaming_agent", 10) - B2.reagents.add_reagent("pacid", 10) + B2.reagents.add_reagent("facid", 10) beakers += B1 beakers += B2 @@ -353,17 +353,17 @@ icon_state = "grenade" -/obj/item/weapon/grenade/chem_grenade/pacid +/obj/item/weapon/grenade/chem_grenade/facid name = "acid grenade" desc = "Used for melting armoured opponents." stage = READY -/obj/item/weapon/grenade/chem_grenade/pacid/New() +/obj/item/weapon/grenade/chem_grenade/facid/New() ..() var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) - B1.reagents.add_reagent("pacid", 100) + B1.reagents.add_reagent("facid", 100) B1.reagents.add_reagent("potassium", 25) B2.reagents.add_reagent("phosphorus", 25) B2.reagents.add_reagent("sugar", 25) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index b0d9d00fd5e..ef37fb2ab50 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -12,7 +12,7 @@ var/mopping = 0 var/mopcount = 0 var/mopcap = 5 - var/mopspeed = 40 + var/mopspeed = 30 /obj/item/weapon/mop/New() create_reagents(mopcap) @@ -65,14 +65,3 @@ obj/item/weapon/mop/proc/clean(turf/simulated/A) /obj/item/weapon/mop/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return - -/obj/item/weapon/mop/advanced - desc = "The most advanced tool in a custodian's arsenal. Just think of all the viscera you will clean up with this!" - name = "advanced mop" - mopcap = 10 - icon_state = "advmop" - item_state = "mop" - force = 6 - throwforce = 8 - throw_range = 4 - mopspeed = 20 \ No newline at end of file diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index 3cdb29a7152..fceaa3c4193 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -112,4 +112,20 @@ maxcharge = 10000 m_amt = 0 g_amt = 0 - rating = 3 \ No newline at end of file + rating = 3 + +/obj/item/weapon/stock_parts/cell/emproof + name = "\improper EMP-proof cell" + desc = "An EMP-proof cell." + maxcharge = 500 + rating = 2 + +/obj/item/weapon/stock_parts/cell/emproof/empty/New() + ..() + charge = 0 + +/obj/item/weapon/stock_parts/cell/emproof/emp_act(severity) + return + +/obj/item/weapon/stock_parts/cell/emproof/corrupt() + return diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index f205aa88ef5..df65b059e39 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -215,3 +215,55 @@ ..() new /obj/item/stack/tile/plasteel(src) new /obj/item/weapon/crowbar(src) + +/obj/item/weapon/storage/backpack/dufflebag + name = "dufflebag" + desc = "A large dufflebag for holding extra things" + icon_state = "duffle" + item_state = "duffle" + storage_slots = 9 + slowdown = 1 + +/obj/item/weapon/storage/backpack/dufflebag/syndiemed + name = "medical dufflebag" + desc = "A large dufflebag for holding extra tactical medical supplies." + icon_state = "duffle-syndiemed" + item_state = "duffle-syndiemed" + slowdown = 0 + +/obj/item/weapon/storage/backpack/dufflebag/syndieammo + name = "ammunition dufflebag" + desc = "A large dufflebag for holding extra weapons ammunition and supplies." + icon_state = "duffle-syndieammo" + item_state = "duffle-syndieammo" + slowdown = 0 + +/obj/item/weapon/storage/backpack/dufflebag/captain + name = "captain's dufflebag" + desc = "A large dufflebag for holding extra captainly goods." + icon_state = "duffle-captain" + item_state = "duffle-captain" + +/obj/item/weapon/storage/backpack/dufflebag/med + name = "medical dufflebag" + desc = "A large dufflebag for holding extra medical supplies." + icon_state = "duffle-med" + item_state = "duffle-med" + +/obj/item/weapon/storage/backpack/dufflebag/sec + name = "security dufflebag" + desc = "A large dufflebag for holding extra security supplies and ammunition." + icon_state = "duffle-sec" + item_state = "duffle-sec" + +/obj/item/weapon/storage/backpack/dufflebag/engineering + name = "engineering dufflebag" + desc = "A large dufflebag for holding extra tools and supplies." + icon_state = "duffle-eng" + item_state = "duffle-eng" + +/obj/item/weapon/storage/backpack/dufflebag/clown + name = "clown's dufflebag" + desc = "A large dufflebag for holding lots of funny gags!" + icon_state = "duffle-clown" + item_state = "duffle-clown" diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index a91c7a55df4..81c473f0364 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -90,7 +90,7 @@ /obj/item/clothing/glasses, /obj/item/ammo_casing/shotgun, /obj/item/ammo_box, - /obj/item/weapon/reagent_containers/food/snacks/donut/normal, + /obj/item/weapon/reagent_containers/food/snacks/donut, /obj/item/weapon/reagent_containers/food/snacks/donut/jelly, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic @@ -189,9 +189,68 @@ name = "shoulder holster" desc = "A holster to conceal a carried handgun. WARNING: Badasses only." icon_state = "holster" - item_state = "bandolier" + item_state = "holster" storage_slots = 1 + max_w_class = 4 can_hold = list( /obj/item/weapon/gun/projectile/automatic/pistol, /obj/item/weapon/gun/projectile/revolver/detective - ) \ No newline at end of file + ) + +/obj/item/weapon/storage/belt/fannypack + name = "fannypack" + desc = "A dorky fannypack for keeping small items in." + icon_state = "fannypack_leather" + item_state = "fannypack_leather" + storage_slots = 3 + max_w_class = 2 + +/obj/item/weapon/storage/belt/fannypack/black + name = "black fannypack" + icon_state = "fannypack_black" + item_state = "fannypack_black" + +/obj/item/weapon/storage/belt/fannypack/red + name = "red fannypack" + icon_state = "fannypack_red" + item_state = "fannypack_red" + +/obj/item/weapon/storage/belt/fannypack/purple + name = "purple fannypack" + icon_state = "fannypack_purple" + item_state = "fannypack_purple" + +/obj/item/weapon/storage/belt/fannypack/blue + name = "blue fannypack" + icon_state = "fannypack_blue" + item_state = "fannypack_blue" + +/obj/item/weapon/storage/belt/fannypack/orange + name = "orange fannypack" + icon_state = "fannypack_orange" + item_state = "fannypack_orange" + +/obj/item/weapon/storage/belt/fannypack/white + name = "white fannypack" + icon_state = "fannypack_white" + item_state = "fannypack_white" + +/obj/item/weapon/storage/belt/fannypack/green + name = "green fannypack" + icon_state = "fannypack_green" + item_state = "fannypack_green" + +/obj/item/weapon/storage/belt/fannypack/pink + name = "pink fannypack" + icon_state = "fannypack_pink" + item_state = "fannypack_pink" + +/obj/item/weapon/storage/belt/fannypack/cyan + name = "cyan fannypack" + icon_state = "fannypack_cyan" + item_state = "fannypack_cyan" + +/obj/item/weapon/storage/belt/fannypack/yellow + name = "yellow fannypack" + icon_state = "fannypack_yellow" + item_state = "fannypack_yellow" diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 06b694b6d78..c84ec21f623 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -49,7 +49,7 @@ /obj/item/weapon/storage/fancy/donut_box/New() ..() for(var/i=1; i <= storage_slots; i++) - new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src) + new /obj/item/weapon/reagent_containers/food/snacks/donut(src) return /* diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 3c5f5bfd146..b41d9ad3562 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -189,6 +189,15 @@ src.add_fingerprint(user) return +//Syndie variant of Secure Briefcase. Contains space cash, slightly more robust. +/obj/item/weapon/storage/secure/briefcase/syndie + force = 15.0 + +/obj/item/weapon/storage/secure/briefcase/syndie/New() + ..() + for(var/i = 0, i < 5, i++) + new /obj/item/weapon/spacecash/c1000(src) + // ----------------------------- // Secure Safe // ----------------------------- diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 57d7d3ce50d..d8b9586f652 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -40,6 +40,9 @@ new /obj/item/ammo_box/a357(src) new /obj/item/weapon/card/emag(src) new /obj/item/weapon/c4(src) + new /obj/item/clothing/gloves/color/latex/nitrile(src) + new /obj/item/clothing/mask/gas/clown_hat(src) + new /obj/item/clothing/under/suit_jacket/really_black(src) return if("murder") @@ -175,4 +178,4 @@ new /obj/item/weapon/reagent_containers/glass/bottle/formaldehyde(src) new /obj/item/weapon/reagent_containers/glass/bottle/cyanide(src) new /obj/item/weapon/reagent_containers/glass/bottle/histamine(src) - return \ No newline at end of file + return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 04d11bf0c7a..921d00453c7 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -17,6 +17,7 @@ new /obj/item/weapon/storage/backpack/industrial(src) else new /obj/item/weapon/storage/backpack/satchel_eng(src) + new /obj/item/weapon/storage/backpack/dufflebag/engineering(src) new /obj/item/areaeditor/blueprints(src) new /obj/item/weapon/storage/box/permits(src) new /obj/item/clothing/under/rank/chief_engineer(src) @@ -102,6 +103,7 @@ new /obj/item/weapon/storage/backpack/industrial(src) else new /obj/item/weapon/storage/backpack/satchel_eng(src) + new /obj/item/weapon/storage/backpack/dufflebag/engineering(src) new /obj/item/clothing/under/rank/engineer(src) new /obj/item/clothing/shoes/sneakers/orange(src) new /obj/item/weapon/storage/toolbox/mechanical(src) @@ -129,6 +131,7 @@ new /obj/item/weapon/pipe_dispenser(src) new /obj/item/weapon/storage/toolbox/mechanical(src) new /obj/item/weapon/storage/backpack/satchel_norm(src) + new /obj/item/weapon/storage/backpack/dufflebag/engineering(src) new /obj/item/weapon/tank/emergency_oxygen/engi(src) new /obj/item/weapon/watertank/atmos(src) new /obj/item/clothing/suit/fire/atmos(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 8a7ad5457ce..ea60993eea4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -72,6 +72,7 @@ new /obj/item/weapon/storage/backpack/medic(src) else new /obj/item/weapon/storage/backpack/satchel_med(src) + new /obj/item/weapon/storage/backpack/dufflebag/med(src) new /obj/item/clothing/under/rank/medical(src) new /obj/item/clothing/suit/toggle/labcoat(src) new /obj/item/clothing/shoes/sneakers/white(src) @@ -101,6 +102,7 @@ new /obj/item/weapon/storage/backpack/medic(src) else new /obj/item/weapon/storage/backpack/satchel_med(src) + new /obj/item/weapon/storage/backpack/dufflebag/med(src) new /obj/item/clothing/suit/bio_suit/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src) new /obj/item/clothing/suit/toggle/labcoat/cmo(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 1c56b4c27e4..a27ef5b902d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -6,6 +6,8 @@ /obj/structure/closet/secure_closet/personal/New() ..() + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag(src) if(prob(50)) new /obj/item/weapon/storage/backpack(src) else diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 3b9bc3a3388..5cc981fc00c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -15,6 +15,7 @@ new /obj/item/weapon/storage/backpack/captain(src) else new /obj/item/weapon/storage/backpack/satchel_cap(src) + new /obj/item/weapon/storage/backpack/dufflebag/captain(src) new /obj/item/clothing/suit/captunic(src) new /obj/item/clothing/under/captainparade(src) new /obj/item/clothing/head/caphat/parade(src) @@ -130,6 +131,7 @@ ..() new /obj/item/clothing/suit/armor/vest(src) new /obj/item/device/radio/headset/headset_sec/alt(src) + new /obj/item/clothing/head/beret/sec(src) new /obj/item/clothing/head/soft/sec(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) new /obj/item/device/flash/handheld(src) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 08f3cf4c2aa..2f3d9932bda 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -8,31 +8,43 @@ /obj/structure/closet/syndicate/ertCom/New() name = "commanders closet" desc = "Emergency Response Team equipment locker" - new /obj/item/weapon/card/id/ertsCommand(src) - new /obj/item/weapon/storage/backpack/security(src) + icon_state = "capsecureoff" + icon_closed = "capsecureoff" + icon_opened = "capsecureopen" +// new /obj/item/weapon/card/id/ert(src) + new /obj/item/weapon/storage/backpack/captain(src) return /obj/structure/closet/syndicate/ertSec/New() name = "security closet" desc = "Emergency Response Team equipment locker" - new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol(src) - new /obj/item/weapon/card/id/ertsSecurity(src) + icon_state = "secoff" + icon_closed = "secoff" + icon_opened = "secopen" + new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src) + new /obj/item/weapon/card/id/ert/Security(src) new /obj/item/weapon/storage/backpack/security(src) return /obj/structure/closet/syndicate/ertMed/New() name = "medical closet" desc = "Emergency Response Team equipment locker" - new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol(src) - new /obj/item/weapon/card/id/ertsMedical(src) + icon_state = "securemedoff" + icon_closed = "securemedoff" + icon_opened = "securemedopen" + new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src) + new /obj/item/weapon/card/id/ert/Medical(src) new /obj/item/weapon/storage/backpack/medic(src) return /obj/structure/closet/syndicate/ertEngi/New() name = "engineer closet" desc = "Emergency Response Team equipment locker" - new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol(src) - new /obj/item/weapon/card/id/ertsEngineer(src) + icon_state = "secureengoff" + icon_closed = "secureengoff" + icon_opened = "secureengopen" + new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src) + new /obj/item/weapon/card/id/ert/Engineer(src) new /obj/item/weapon/storage/backpack/industrial(src) return @@ -62,6 +74,8 @@ new /obj/item/ammo_box/magazine/m10mm(src) new /obj/item/weapon/storage/box/flashbangs(src) new /obj/item/weapon/storage/box/teargas(src) + new /obj/item/weapon/storage/backpack/dufflebag/syndiemed(src) + new /obj/item/weapon/storage/backpack/dufflebag/syndieammo(src) new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src) new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src) new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index f6a968576db..725e42645c5 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -22,6 +22,8 @@ /obj/structure/closet/wardrobe/red/New() new /obj/item/weapon/storage/backpack/security(src) new /obj/item/weapon/storage/backpack/satchel_sec(src) + new /obj/item/weapon/storage/backpack/dufflebag/sec(src) + new /obj/item/weapon/storage/backpack/dufflebag/sec(src) new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) @@ -342,6 +344,8 @@ new /obj/item/clothing/head/soft/grey(src) new /obj/item/clothing/head/soft/grey(src) new /obj/item/clothing/head/soft/grey(src) + if(prob(50)) + new /obj/item/weapon/storage/backpack/dufflebag(src) if(prob(40)) new /obj/item/clothing/mask/bandana/black(src) new /obj/item/clothing/mask/bandana/black(src) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 2e53e182a6b..1a3fff351a6 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -181,7 +181,7 @@ icon_state = "ppflowers_1" /obj/structure/flora/ausbushes/ppflowers/New() - icon_state = "ppflowers_[rand(1, 4)]" + icon_state = "ppflowers_[rand(1, 3)]" ..() /obj/structure/flora/ausbushes/sparsegrass diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 393538d56e2..9f7497781cb 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -144,7 +144,7 @@ /obj/structure/janitorialcart/update_icon() - overlays = null + overlays.Cut() if(mybag) overlays += "cart_garbage" if(mymop) @@ -157,53 +157,72 @@ overlays += "cart_sign[signs]" -//old style retardo-cart +//old style PIMP-CART /obj/structure/stool/bed/chair/janicart name = "janicart" + desc = "A brave janitor cyborg gave its life to produce such an amazing combination of speed and utility." icon = 'icons/obj/vehicles.dmi' icon_state = "pussywagon" anchored = 0 density = 1 - flags = OPENCONTAINER - //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/weapon/storage/bag/trash/mybag = null + var/obj/item/weapon/storage/bag/trash/mybag = null var/callme = "pimpin' ride" //how do people refer to it? - + var/move_delay = 0 + var/floorbuffer = 0 + var/keytype = /obj/item/key/janitor /obj/structure/stool/bed/chair/janicart/New() handle_rotation() - create_reagents(100) +/obj/structure/stool/bed/chair/janicart/Move(a, b, flag) + ..() + if(floorbuffer) + var/turf/tile = loc + if(isturf(tile)) + tile.clean_blood() + if (istype(tile, /turf/simulated/floor)) + var/turf/simulated/floor/F = tile + F.dirt = 0 + for(var/A in tile) + if(istype(A, /obj/effect)) + if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay)) + qdel(A) /obj/structure/stool/bed/chair/janicart/examine(mob/user) ..() - if(mybag) - user << "\A [mybag] is hanging on \the [callme]." + if(floorbuffer) + user << "It has been upgraded with a floor buffer." /obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/mop)) - if(reagents.total_volume > 1) - reagents.trans_to(I, 2) - user << "You wet [I] in the [callme]." - playsound(loc, 'sound/effects/slosh.ogg', 25, 1) - else - user << "This [callme] is out of water!" - else if(istype(I, /obj/item/key)) + if(istype(I, keytype)) user << "Hold [I] in one of your hands while you drive this [callme]." else if(istype(I, /obj/item/weapon/storage/bag/trash)) - user << "You hook the trashbag onto the [callme]." - user.drop_item() - I.loc = src - mybag = I + if(keytype == /obj/item/key/janitor) + user << "You hook the trashbag onto the [callme]." + user.drop_item() + I.loc = src + mybag = I + else if(istype(I, /obj/item/janiupgrade)) + if(keytype == /obj/item/key/janitor) + floorbuffer = 1 + qdel(I) + user << "You upgrade the [callme] with the floor buffer." + update_icon() +/obj/structure/stool/bed/chair/janicart/update_icon() + overlays.Cut() + if(mybag) + overlays += "cart_garbage" + if(floorbuffer) + overlays += "cart_buffer" /obj/structure/stool/bed/chair/janicart/attack_hand(mob/user) if(mybag) mybag.loc = get_turf(user) user.put_in_hands(mybag) mybag = null + update_icon() else ..() @@ -211,31 +230,44 @@ /obj/structure/stool/bed/chair/janicart/relaymove(mob/user, direction) if(user.stat || user.stunned || user.weakened || user.paralysis) unbuckle_mob() - if(istype(user.l_hand, /obj/item/key) || istype(user.r_hand, /obj/item/key)) - if(!Process_Spacemove(direction)) + if(istype(user.l_hand, keytype) || istype(user.r_hand, keytype)) + if(!Process_Spacemove(direction) || !has_gravity(src.loc) || move_delay) return step(src, direction) update_mob() handle_rotation() + if(istype(src.loc, /turf/simulated)) + var/turf/simulated/T = src.loc + if(T.wet == 2) //Lube! Fall off! + playsound(src, 'sound/misc/slip.ogg', 50, 1, -3) + buckled_mob.Stun(7) + buckled_mob.Weaken(7) + unbuckle_mob() + step(src, dir) + move_delay = 1 + spawn(2) + move_delay = 0 else user << "You'll need the keys in one of your hands to drive this [callme]." -/obj/structure/stool/bed/chair/janicart/post_buckle_mob(mob/living/M) - update_mob() - return ..() +/obj/structure/stool/bed/chair/janicart/user_buckle_mob(mob/M, mob/user) + if(M != user || !ismob(M) || get_dist(src, user) > 1 || user.restrained() || user.lying || user.stat || M.buckled || istype(user, /mob/living/silicon)) + return + ..() + + M.loc = loc + update_mob() /obj/structure/stool/bed/chair/janicart/unbuckle_mob() - var/mob/living/M = ..() - if(M) - M.pixel_x = 0 - M.pixel_y = 0 - return M - + if(buckled_mob) + buckled_mob.pixel_x = 0 + buckled_mob.pixel_y = 0 + ..() /obj/structure/stool/bed/chair/janicart/handle_rotation() - if(dir == SOUTH) + if((dir == SOUTH) || (dir == WEST) || (dir == EAST)) layer = FLY_LAYER else layer = OBJ_LAYER @@ -256,26 +288,50 @@ buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 7 if(WEST) - buckled_mob.pixel_x = 13 + buckled_mob.pixel_x = 12 buckled_mob.pixel_y = 7 if(NORTH) buckled_mob.pixel_x = 0 buckled_mob.pixel_y = 4 if(EAST) - buckled_mob.pixel_x = -13 + buckled_mob.pixel_x = -12 buckled_mob.pixel_y = 7 /obj/structure/stool/bed/chair/janicart/bullet_act(var/obj/item/projectile/Proj) if(buckled_mob) - if(prob(85)) - return buckled_mob.bullet_act(Proj) - visible_message("[Proj] ricochets off the [callme]!") - + buckled_mob.bullet_act(Proj) /obj/item/key name = "key" - desc = "A keyring with a small steel key, and a pink fob reading \"Pussy Wagon\"." + desc = "A small grey key." icon = 'icons/obj/vehicles.dmi' - icon_state = "keys" - w_class = 1 \ No newline at end of file + icon_state = "key" + w_class = 1 + +/obj/item/key/janitor + desc = "A keyring with a small steel key, and a pink fob reading \"Pussy Wagon\"." + icon_state = "keyjanitor" + +/obj/item/key/security + desc = "A keyring with a small steel key, and a rubber stun baton accessory." + icon_state = "keysec" + +/obj/item/janiupgrade + name = "floor buffer upgrade" + desc = "An upgrade for mobile janicarts." + icon = 'icons/obj/vehicles.dmi' + icon_state = "upgrade" + +/obj/structure/stool/bed/chair/janicart/secway + name = "secway" + desc = "A brave security cyborg gave its life to help you look like a complete tool." + icon = 'icons/obj/vehicles.dmi' + icon_state = "secway" + callme = "secway" + keytype = /obj/item/key/security + +/obj/structure/stool/bed/chair/janicart/secway/update_mob() + if(buckled_mob) + buckled_mob.dir = dir + buckled_mob.pixel_y = 4 \ No newline at end of file diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 1d1d5661cea..6b43db959e0 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -1,3 +1,10 @@ + +#define SKINTYPE_MONKEY 1 +#define SKINTYPE_ALIEN 2 + +#define MEATTYPE_MONKEY 1 +#define MEATTYPE_ALIEN 2 + //////Kitchen Spike /obj/structure/kitchenspike @@ -9,7 +16,9 @@ anchored = 1 var/meat = 0 var/occupied = 0 - var/meattype = 0 // 0 - Nothing, 1 - Monkey, 2 - Xeno + var/meattype = null + var/skin = 0 + var/skintype = null /obj/structure/kitchenspike/attack_paw(mob/user as mob) return src.attack_hand(usr) @@ -22,7 +31,9 @@ src.icon_state = "spikebloody" src.occupied = 1 src.meat = 5 - src.meattype = 1 + src.meattype = MEATTYPE_MONKEY + src.skin = 1 + src.skintype = SKINTYPE_MONKEY for(var/mob/O in viewers(src, null)) O.show_message(text("[user] has forced [G.affecting] onto the spike, killing them instantly!")) qdel(G.affecting) @@ -35,7 +46,9 @@ src.icon_state = "spikebloodygreen" src.occupied = 1 src.meat = 5 - src.meattype = 2 + src.meattype = MEATTYPE_ALIEN + src.skin = 1 + src.skintype = SKINTYPE_ALIEN for(var/mob/O in viewers(src, null)) O.show_message(text("[user] has forced [G.affecting] onto the spike, killing them instantly!")) qdel(G.affecting) @@ -55,10 +68,14 @@ if(..()) return if(src.occupied) - if(src.meattype == 1) - if(src.meat > 1) + if(src.meattype == MEATTYPE_MONKEY && src.skintype == SKINTYPE_MONKEY) + if(src.skin >= 1) + src.skin-- + new /obj/item/stack/sheet/animalhide/monkey(src.loc) + user << "You remove the hide from the monkey!" + else if(src.meat > 1) src.meat-- - new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey( src.loc ) + new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src.loc ) usr << "You remove some meat from the monkey." else if(src.meat == 1) src.meat-- @@ -66,10 +83,14 @@ usr << "You remove the last piece of meat from the monkey!" src.icon_state = "spike" src.occupied = 0 - else if(src.meattype == 2) - if(src.meat > 1) + else if(src.meattype == MEATTYPE_ALIEN && src.skintype == SKINTYPE_ALIEN) + if(src.skin >= 1) + src.skin-- + new /obj/item/stack/sheet/animalhide/xeno(src.loc) + user << "You remove the hide from the alien!" + else if(src.meat > 1) src.meat-- - new /obj/item/weapon/reagent_containers/food/snacks/xenomeat( src.loc ) + new /obj/item/weapon/reagent_containers/food/snacks/xenomeat(src.loc ) usr << "You remove some meat from the alien." else if(src.meat == 1) src.meat-- @@ -77,3 +98,9 @@ usr << "You remove the last piece of meat from the alien!" src.icon_state = "spike" src.occupied = 0 + +#undef SKINTYPE_MONKEY +#undef SKINTYPE_ALIEN + +#undef MEATTYPE_MONKEY +#undef MEATTYPE_ALIEN diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 6955c0a429d..4e7a2eabaff 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -86,6 +86,7 @@ icon_state = "engine" thermal_conductivity = 0.025 heat_capacity = 325000 + floor_tile = /obj/item/stack/rods /turf/simulated/floor/engine/break_tile() return //unbreakable @@ -93,7 +94,9 @@ /turf/simulated/floor/engine/burn_tile() return //unburnable -/turf/simulated/floor/engine/make_plating() +/turf/simulated/floor/engine/make_plating(var/force = 0) + if(force) + ..() return //unplateable /turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob) diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index 7e8a502250e..c6f7d383936 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -116,7 +116,10 @@ var/savefile/Banlist Banlist["temp"] << temp if (temp) Banlist["minutes"] << bantimestamp - notes_add(ckey, "Banned for [minutes] minutes - [reason]") + if(!temp) + notes_add(ckey, "Permanently banned - [reason]") + else + notes_add(ckey, "Banned for [minutes] minutes - [reason]") return 1 /proc/RemoveBan(foldername) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index b1a1a6eb9ed..8644ac28ff2 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1116,8 +1116,8 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ertsCommand(M), slot_wear_id) +// M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back) + M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id) else M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) @@ -1126,4 +1126,4 @@ var/global/list/g_fancy_list_of_types = null var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M) L.imp_in = M L.implanted = 1 - M.sec_hud_set_implants() + M.sec_hud_set_implants() diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 1ff1a32b9d0..c7d5bcdbfb1 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -12,6 +12,12 @@ max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 60 +/obj/item/clothing/head/helmet/alt + desc = "A bulletproof helmet that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." + icon_state = "helmetalt" + item_state = "helmetalt" + armor = list(melee = 25, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0) + /obj/item/clothing/head/helmet/riot name = "riot helmet" desc = "It's a helmet specifically designed to protect against close range attacks." diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 49d6baeabe5..95499d23afc 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -46,7 +46,7 @@ /obj/item/clothing/suit/armor/vest/warden name = "warden's jacket" - desc = "A navy-blue armored jacket with blue shoulder designations and '/Warden/' stitched into one of the chest pockets." + desc = "A red jacket with silver rank pips and body armor strapped on top." icon_state = "warden_jacket" item_state = "armor" body_parts_covered = CHEST|GROIN|ARMS @@ -56,7 +56,7 @@ /obj/item/clothing/suit/armor/vest/warden/alt name = "warden's armored jacket" - desc = "A red jacket with silver rank pips and body armor strapped on top." + desc = "A navy-blue armored jacket with blue shoulder designations and '/Warden/' stitched into one of the chest pockets." icon_state = "warden_alt" /obj/item/clothing/suit/armor/vest/capcarapace diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 385362bba9b..30accf62932 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -101,11 +101,13 @@ /obj/item/clothing/under/color/lightbrown name = "lightbrown jumpsuit" icon_state = "lightbrown" + item_state = "lb_suit" item_color = "lightbrown" /obj/item/clothing/under/color/brown name = "brown jumpsuit" icon_state = "brown" + item_state = "lb_suit" item_color = "brown" /obj/item/clothing/under/color/yellowgreen diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 2753980a5f1..b889b5b7329 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -12,7 +12,7 @@ desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"." name = "captain's jumpsuit" icon_state = "captain" - item_state = "caparmor" + item_state = "b_suit" item_color = "captain" diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index 27708bcf775..bdd52e6ba23 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -3,7 +3,7 @@ desc = "It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding." name = "chief engineer's jumpsuit" icon_state = "chiefengineer" - item_state = "g_suit" + item_state = "gy_suit" item_color = "chief" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 3fd2cc664f7..2b28a80e6f0 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -5,7 +5,7 @@ desc = "It's a suit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants." name = "research director's vest suit" icon_state = "director" - item_state = "g_suit" + item_state = "lb_suit" item_color = "director" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 10, rad = 0) can_adjust = 0 diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 6037b853a90..037b2f4101f 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -28,7 +28,7 @@ var/obj/vent = pick_n_take(vents) if(vent && vent.loc) var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","mushroomhallucinogen","lube", - "plantbgone","banana","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","pacid") + "plantbgone","banana","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","facid") var/datum/reagents/R = new/datum/reagents(50) R.my_atom = vent R.add_reagent(pick(gunk), 50) diff --git a/code/modules/food&drinks/drinks/drinks.dm b/code/modules/food&drinks/drinks/drinks.dm index f2dbb503bf9..a891c825493 100644 --- a/code/modules/food&drinks/drinks/drinks.dm +++ b/code/modules/food&drinks/drinks/drinks.dm @@ -11,6 +11,11 @@ possible_transfer_amounts = list(5,10,25) volume = 50 +/obj/item/weapon/reagent_containers/food/drinks/New() + ..() + pixel_x = rand(-5, 5) + pixel_y = rand(-5, 5) + /obj/item/weapon/reagent_containers/food/drinks/on_reagent_change() if (gulp_size < 5) gulp_size = 5 else gulp_size = max(round(reagents.total_volume / 5), 5) @@ -120,12 +125,7 @@ desc = "It's milk. White and nutritious goodness!" icon_state = "milk" item_state = "carton" - -/obj/item/weapon/reagent_containers/food/drinks/milk/New() - ..() - reagents.add_reagent("milk", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("milk" = 50) /obj/item/weapon/reagent_containers/food/drinks/flour name = "flour sack" @@ -133,105 +133,59 @@ icon = 'icons/obj/food.dmi' icon_state = "flour" item_state = "flour" - -/obj/item/weapon/reagent_containers/food/drinks/flour/New() - ..() - reagents.add_reagent("flour", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("flour" = 30) /obj/item/weapon/reagent_containers/food/drinks/soymilk name = "SoyMilk" desc = "It's soy milk. White and nutritious goodness!" icon_state = "soymilk" item_state = "carton" - -/obj/item/weapon/reagent_containers/food/drinks/soymilk/New() - ..() - reagents.add_reagent("soymilk", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("soymilk" = 50) /obj/item/weapon/reagent_containers/food/drinks/coffee name = "Robust Coffee" desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" - -/obj/item/weapon/reagent_containers/food/drinks/coffee/New() - ..() - reagents.add_reagent("coffee", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("coffee" = 30) /obj/item/weapon/reagent_containers/food/drinks/tea name = "Duke Purple Tea" desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." icon_state = "tea" item_state = "coffee" - -/obj/item/weapon/reagent_containers/food/drinks/tea/New() - ..() - reagents.add_reagent("tea", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("tea" = 30) /obj/item/weapon/reagent_containers/food/drinks/ice name = "Ice Cup" desc = "Careful, cold ice, do not chew." icon_state = "coffee" - -/obj/item/weapon/reagent_containers/food/drinks/ice/New() - ..() - reagents.add_reagent("ice", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("ice" = 30) /obj/item/weapon/reagent_containers/food/drinks/h_chocolate name = "Dutch Hot Coco" desc = "Made in Space South America." icon_state = "tea" item_state = "coffee" - -/obj/item/weapon/reagent_containers/food/drinks/h_chocolate/New() - ..() - reagents.add_reagent("hot_coco", 30) - reagents.add_reagent("sugar", 5) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("hot_coco" = 30, "sugar" = 5) /obj/item/weapon/reagent_containers/food/drinks/dry_ramen name = "Cup Ramen" desc = "Just add 10ml water, self heats! A taste that reminds you of your school years." icon_state = "ramen" - -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen/New() - ..() - reagents.add_reagent("dry_ramen", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("dry_ramen" = 30) /obj/item/weapon/reagent_containers/food/drinks/beer name = "Space Beer" desc = "Beer. In space." icon_state = "beer" - -/obj/item/weapon/reagent_containers/food/drinks/beer/New() - ..() - reagents.add_reagent("beer", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("beer" = 30) /obj/item/weapon/reagent_containers/food/drinks/ale name = "Magm-Ale" desc = "A true dorf's drink of choice." icon_state = "alebottle" item_state = "beer" - -/obj/item/weapon/reagent_containers/food/drinks/ale/New() - ..() - reagents.add_reagent("ale", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("ale" = 30) /obj/item/weapon/reagent_containers/food/drinks/sillycup name = "Paper Cup" @@ -240,11 +194,6 @@ possible_transfer_amounts = null volume = 10 -/obj/item/weapon/reagent_containers/food/drinks/sillycup/New() - ..() - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - /obj/item/weapon/reagent_containers/food/drinks/sillycup/on_reagent_change() if(reagents.total_volume) icon_state = "water_cup" @@ -273,9 +222,7 @@ name = "detective's flask" desc = "The detective's only true friend." icon_state = "detflask" - New() - ..() - reagents.add_reagent("whiskey", 30) + list_reagents = list("whiskey" = 30) /obj/item/weapon/reagent_containers/food/drinks/britcup name = "cup" @@ -299,96 +246,56 @@ name = "Space Cola" desc = "Cola. in space." icon_state = "cola" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola/New() - ..() - reagents.add_reagent("cola", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("cola" = 30) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/tonic name = "T-Borg's Tonic Water" desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." icon_state = "tonic" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/tonic/New() - ..() - reagents.add_reagent("tonic", 50) + list_reagents = list("tonic" = 50) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/sodawater name = "Soda Water" desc = "A can of soda water. Why not make a scotch and soda?" icon_state = "sodawater" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/sodawater/New() - ..() - reagents.add_reagent("sodawater", 50) + list_reagents = list("sodawater" = 50) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/lemon_lime name = "Orange Soda" desc = "You wanted ORANGE. It gave you Lemon Lime." icon_state = "lemon-lime" + list_reagents = list("lemon_lime" = 30) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/lemon_lime/New() ..() name = "Lemon-Lime Soda" - reagents.add_reagent("lemon_lime", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_up name = "Space-Up" desc = "Tastes like a hull breach in your mouth." icon_state = "space-up" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_up/New() - ..() - reagents.add_reagent("space_up", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("space_up" = 30) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/starkist name = "Star-kist" desc = "The taste of a star in liquid form. And, a bit of tuna...?" icon_state = "starkist" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/starkist/New() - ..() - reagents.add_reagent("cola", 15) - reagents.add_reagent("orangejuice", 15) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("cola" = 15, "orangejuice" = 15) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_mountain_wind name = "Space Mountain Wind" desc = "Blows right through you like a space wind." icon_state = "space_mountain_wind" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_mountain_wind/New() - ..() - reagents.add_reagent("spacemountainwind", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("spacemountainwind" = 30) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko name = "Thirteen Loko" desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsably." icon_state = "thirteen_loko" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko/New() - ..() - reagents.add_reagent("thirteenloko", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("thirteenloko" = 30) /obj/item/weapon/reagent_containers/food/drinks/soda_cans/dr_gibb name = "Dr. Gibb" desc = "A delicious mixture of 42 different flavors." icon_state = "dr_gibb" - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/dr_gibb/New() - ..() - reagents.add_reagent("dr_gibb", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - + list_reagents = list("dr_gibb" = 30) diff --git a/code/modules/food&drinks/drinks/drinks/bottle.dm b/code/modules/food&drinks/drinks/drinks/bottle.dm index 5b63c23a921..fc5ef2e522b 100644 --- a/code/modules/food&drinks/drinks/drinks/bottle.dm +++ b/code/modules/food&drinks/drinks/drinks/bottle.dm @@ -129,118 +129,79 @@ name = "Griffeater Gin" desc = "A bottle of high quality gin, produced in the New London Space Station." icon_state = "ginbottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin/New() - ..() - reagents.add_reagent("gin", 100) + list_reagents = list("gin" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey name = "Uncle Git's Special Reserve" desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." icon_state = "whiskeybottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey/New() - ..() - reagents.add_reagent("whiskey", 100) + list_reagents = list("whiskey" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka name = "Tunguska Triple Distilled" desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide." icon_state = "vodkabottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/New() - ..() - reagents.add_reagent("vodka", 100) + list_reagents = list("vodka" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla name = "Caccavo Guaranteed Quality Tequilla" desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" icon_state = "tequillabottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla/New() - ..() - reagents.add_reagent("tequilla", 100) + list_reagents = list("tequilla" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing name = "Bottle of Nothing" desc = "A bottle filled with nothing" icon_state = "bottleofnothing" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing/New() - ..() - reagents.add_reagent("nothing", 100) + list_reagents = list("nothing" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/patron name = "Wrapp Artiste Patron" desc = "Silver laced tequilla, served in space night clubs across the galaxy." icon_state = "patronbottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/patron/New() - ..() - reagents.add_reagent("patron", 100) + list_reagents = list("patron" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/rum name = "Captain Pete's Cuban Spiced Rum" desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." icon_state = "rumbottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum/New() - ..() - reagents.add_reagent("rum", 100) + list_reagents = list("rum" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater name = "Flask of Holy Water" desc = "A flask of the chaplain's holy water." icon_state = "holyflask" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/New() - ..() - reagents.add_reagent("holywater", 100) + list_reagents = list("holywater" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth name = "Goldeneye Vermouth" desc = "Sweet, sweet dryness~" icon_state = "vermouthbottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth/New() - ..() - reagents.add_reagent("vermouth", 100) + list_reagents = list("vermouth" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua name = "Robert Robust's Coffee Liqueur" desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK" icon_state = "kahluabottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua/New() - ..() - reagents.add_reagent("kahlua", 100) + list_reagents = list("kahlua" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager name = "College Girl Goldschlager" desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." icon_state = "goldschlagerbottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager/New() - ..() - reagents.add_reagent("goldschlager", 100) + list_reagents = list("goldschlager" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac name = "Chateau De Baton Premium Cognac" desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." icon_state = "cognacbottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac/New() - ..() - reagents.add_reagent("cognac", 100) + list_reagents = list("cognac" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/wine name = "Doublebeard Bearded Special Wine" desc = "A faint aura of unease and asspainery surrounds the bottle." icon_state = "winebottle" - -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine/New() - ..() - reagents.add_reagent("wine", 100) + list_reagents = list("wine" = 100) //////////////////////////JUICES AND STUFF /////////////////////// @@ -250,10 +211,7 @@ icon_state = "orangejuice" item_state = "carton" isGlass = 0 - -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice/New() - ..() - reagents.add_reagent("orangejuice", 100) + list_reagents = list("orangejuice" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/cream name = "Milk Cream" @@ -261,10 +219,7 @@ icon_state = "cream" item_state = "carton" isGlass = 0 - -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream/New() - ..() - reagents.add_reagent("cream", 100) + list_reagents = list("cream" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice name = "Tomato Juice" @@ -272,10 +227,7 @@ icon_state = "tomatojuice" item_state = "carton" isGlass = 0 - -/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice/New() - ..() - reagents.add_reagent("tomatojuice", 100) + list_reagents = list("tomatojuice" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice name = "Lime Juice" @@ -283,7 +235,4 @@ icon_state = "limejuice" item_state = "carton" isGlass = 0 - -/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice/New() - ..() - reagents.add_reagent("limejuice", 100) + list_reagents = list("limejuice" = 100) diff --git a/code/modules/food&drinks/drinks/drinks/bottle/robot.dm b/code/modules/food&drinks/drinks/drinks/bottle/robot.dm deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/code/modules/food&drinks/drinks/drinks/drinkingglass.dm b/code/modules/food&drinks/drinks/drinks/drinkingglass.dm index 6fb536af8db..a7f38510bc0 100644 --- a/code/modules/food&drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food&drinks/drinks/drinks/drinkingglass.dm @@ -453,14 +453,12 @@ return // for /obj/machinery/vending/sovietsoda -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda - New() - ..() - reagents.add_reagent("sodawater", 50) - on_reagent_change() +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/New() + ..() + on_reagent_change() -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola - New() - ..() - reagents.add_reagent("cola", 50) - on_reagent_change() +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/soda + list_reagents = list("sodawater" = 50) + +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/cola + list_reagents = list("cola" = 50) diff --git a/code/modules/food&drinks/food/condiment.dm b/code/modules/food&drinks/food/condiment.dm index 948445dc33b..d0050a53b13 100644 --- a/code/modules/food&drinks/food/condiment.dm +++ b/code/modules/food&drinks/food/condiment.dm @@ -127,16 +127,10 @@ name = "universal enzyme" desc = "Used in cooking various dishes." icon_state = "enzyme" - -/obj/item/weapon/reagent_containers/food/condiment/enzyme/New() - ..() - reagents.add_reagent("enzyme", 50) + list_reagents = list("enzyme" = 50) /obj/item/weapon/reagent_containers/food/condiment/sugar - -/obj/item/weapon/reagent_containers/food/condiment/sugar/New() - ..() - reagents.add_reagent("sugar", 50) + list_reagents = list("sugar" = 50) /obj/item/weapon/reagent_containers/food/condiment/saltshaker //Seperate from above since it's a small shaker rather then name = "salt shaker" // a large one. @@ -145,10 +139,7 @@ possible_transfer_amounts = list(1,20) //for clown turning the lid off amount_per_transfer_from_this = 1 volume = 20 - -/obj/item/weapon/reagent_containers/food/condiment/saltshaker/New() - ..() - reagents.add_reagent("sodiumchloride", 20) + list_reagents = list("sodiumchloride" = 20) /obj/item/weapon/reagent_containers/food/condiment/peppermill name = "pepper mill" @@ -157,10 +148,7 @@ possible_transfer_amounts = list(1,20) //for clown turning the lid off amount_per_transfer_from_this = 1 volume = 20 - -/obj/item/weapon/reagent_containers/food/condiment/peppermill/New() - ..() - reagents.add_reagent("blackpepper", 20) + list_reagents = list("blackpepper" = 20) //Food packs. To easily apply deadly toxi... delicious sauces to your food! /obj/item/weapon/reagent_containers/food/condiment/pack @@ -173,11 +161,6 @@ possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!")) var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters. -/obj/item/weapon/reagent_containers/food/condiment/pack/New() - ..() - pixel_x = rand(-7, 7) - pixel_y = rand(-7, 7) - /obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. return @@ -217,16 +200,10 @@ /obj/item/weapon/reagent_containers/food/condiment/pack/ketchup name = "ketchup pack" originalname = "ketchup" - -/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup/New() - ..() - reagents.add_reagent("ketchup", 10) + list_reagents = list("ketchup" = 10) //Hot sauce /obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce name = "hotsauce pack" originalname = "hotsauce" - -/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce/New() - ..() - reagents.add_reagent("capsaicin", 10) + list_reagents = list("capsaicin" = 10) diff --git a/code/modules/food&drinks/food/snacks.dm b/code/modules/food&drinks/food/snacks.dm index 5a1d222bda7..738d9ad2246 100644 --- a/code/modules/food&drinks/food/snacks.dm +++ b/code/modules/food&drinks/food/snacks.dm @@ -3,7 +3,7 @@ desc = "yummy" icon = 'icons/obj/food.dmi' icon_state = null - var/bitesize = 1 + var/bitesize = 2 var/bitecount = 0 var/trash = null var/slice_path @@ -255,21 +255,14 @@ icon_state = "cheesewheel" slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesewedge slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/cheesewedge name = "cheese wedge" desc = "A wedge of delicious Cheddar. The cheese wheel it was cut from can't have gone far." icon_state = "cheesewedge" - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/watermelonslice name = "watermelon slice" desc = "A slice of watery goodness." icon_state = "watermelonslice" - bitesize = 2 \ No newline at end of file diff --git a/code/modules/food&drinks/food/snacks/meat.dm b/code/modules/food&drinks/food/snacks/meat.dm index 415356b8597..bbc01d8ad3e 100644 --- a/code/modules/food&drinks/food/snacks/meat.dm +++ b/code/modules/food&drinks/food/snacks/meat.dm @@ -3,12 +3,8 @@ desc = "A slab of meat" icon_state = "meat" dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky - -/obj/item/weapon/reagent_containers/food/snacks/meat/New() - ..() - reagents.add_reagent("nutriment", 3) - src.bitesize = 3 - + bitesize = 3 + list_reagents = list("nutriment" = 3) /obj/item/weapon/reagent_containers/food/snacks/meat/synthmeat name = "synthmeat" @@ -22,16 +18,12 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/slime icon_state = "slimemeat" desc = "Because jello wasn't offensive enough to vegans" - New() - ..() - reagents.add_reagent("slimejelly", 3) + list_reagents = list("nutriment" = 3, "slimejelly" = 3) /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/golem icon_state = "golemmeat" desc = "Edible rocks, welcome to the future" - New() - ..() - reagents.add_reagent("iron", 3) + list_reagents = list("nutriment" = 3, "iron" = 3) /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/golem/adamantine icon_state = "agolemmeat" @@ -52,9 +44,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/fly icon_state = "flymeat" desc = "Nothing says tasty like maggot filled radioactive mutant flesh" - New() - ..() - reagents.add_reagent("uranium", 3) + list_reagents = list("nutriment" = 3, "uranium" = 3) /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/skeleton name = "-bone" diff --git a/code/modules/food&drinks/food/snacks_bread.dm b/code/modules/food&drinks/food/snacks_bread.dm index 62d53a71605..c8f81fbaa16 100644 --- a/code/modules/food&drinks/food/snacks_bread.dm +++ b/code/modules/food&drinks/food/snacks_bread.dm @@ -5,19 +5,15 @@ icon_state = "meatbread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice slices_num = 5 + list_reagents = list("nutriment" = 30, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread/New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("vitamin", 5) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice name = "meatbread slice" desc = "A slice of delicious meatbread." icon_state = "meatbreadslice" trash = /obj/item/trash/plate - bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread name = "xenomeatbread loaf" @@ -25,19 +21,15 @@ icon_state = "xenomeatbread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice slices_num = 5 + list_reagents = list("nutriment" = 30, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread/New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("vitamin", 5) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice name = "xenomeatbread slice" desc = "A slice of delicious meatbread. Extra Heretical." icon_state = "xenobreadslice" trash = /obj/item/trash/plate - bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread name = "spider meat loaf" @@ -45,24 +37,16 @@ icon_state = "spidermeatbread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice slices_num = 5 + list_reagents = list("nutriment" = 30, "toxin" = 15, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread/New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("toxin", 15) - reagents.add_reagent("vitamin", 5) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice name = "spider meat bread slice" desc = "A slice of meatloaf made from an animal that most likely still wants you dead." icon_state = "xenobreadslice" trash = /obj/item/trash/plate - bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice/New() - ..() - reagents.add_reagent("toxin", 2) + list_reagents = list("toxin" = 2) /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread name = "banana-nut bread" @@ -70,19 +54,15 @@ icon_state = "bananabread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice slices_num = 5 + list_reagents = list("nutriment" = 30, "banana" = 20) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread/New() - ..() - reagents.add_reagent("banana", 20) - reagents.add_reagent("nutriment", 20) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice name = "banana-nut bread slice" desc = "A slice of delicious banana bread." icon_state = "bananabreadslice" trash = /obj/item/trash/plate - bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread name = "Tofubread" @@ -90,19 +70,15 @@ icon_state = "tofubread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/tofubreadslice slices_num = 5 + list_reagents = list("nutriment" = 30, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread/New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("vitamin", 5) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofubreadslice name = "tofubread slice" desc = "A slice of delicious tofubread." icon_state = "tofubreadslice" trash = /obj/item/trash/plate - bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread name = "bread" @@ -110,18 +86,14 @@ icon_state = "bread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice slices_num = 5 + list_reagents = list("nutriment" = 6, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread/New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/breadslice name = "bread slice" desc = "A slice of home." icon_state = "breadslice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread @@ -130,29 +102,19 @@ icon_state = "creamcheesebread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice slices_num = 5 + list_reagents = list("nutriment" = 20, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice name = "cream cheese bread slice" desc = "A slice of yum!" icon_state = "creamcheesebreadslice" trash = /obj/item/trash/plate - bitesize = 2 + /obj/item/weapon/reagent_containers/food/snacks/baguette name = "baguette" desc = "Bon appetit!" icon_state = "baguette" - -/obj/item/weapon/reagent_containers/food/snacks/baguette/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("vitamin", 1) + list_reagents = list("nutriment" = 6, "blackpepper" = 1, "sodiumchloride" = 1, "vitamin" = 1) bitesize = 3 diff --git a/code/modules/food&drinks/food/snacks_burgers.dm b/code/modules/food&drinks/food/snacks_burgers.dm index 2aa97f390f1..a6d80c43c76 100644 --- a/code/modules/food&drinks/food/snacks_burgers.dm +++ b/code/modules/food&drinks/food/snacks_burgers.dm @@ -2,12 +2,8 @@ name = "burger" desc = "The cornerstone of every nutritious breakfast." icon_state = "hburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 6, "vitamin" = 1) + bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/burger/human var/hname = "" @@ -24,12 +20,7 @@ name = "fillet -o- carp sandwich" desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp." icon_state = "fishburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/fish/New() - ..() - reagents.add_reagent("carpotoxin", 3) - reagents.add_reagent("vitamin", 3) - bitesize = 3 + list_reagents = list("nutriment" = 6, "carpotoxin" = 3, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/tofu name = "tofu burger" @@ -40,33 +31,20 @@ name = "roburger" desc = "The lettuce is the only organic component. Beep." icon_state = "roburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/roburger/New() - ..() - reagents.add_reagent("nanites", 2) - reagents.add_reagent("vitamin", 5) + list_reagents = list("nutriment" = 6, "nanomachines" = 2, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig name = "roburger" desc = "This massive patty looks like poison. Beep." icon_state = "roburger" - volume = 106 - -/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig/New() - ..() - reagents.add_reagent("nanites", 100) - reagents.add_reagent("vitamin", 20) - bitesize = 0.1 + volume = 120 + list_reagents = list("nutriment" = 20, "nanomachines" = 80, "vitamin" = 20) /obj/item/weapon/reagent_containers/food/snacks/burger/xeno name = "xenoburger" desc = "Smells caustic. Tastes like heresy." icon_state = "xburger" -/obj/item/weapon/reagent_containers/food/snacks/burger/xeno/New() - ..() - reagents.add_reagent("nutriment", 2) - /obj/item/weapon/reagent_containers/food/snacks/burger/clown name = "clown burger" desc = "This tastes funny..." @@ -81,11 +59,7 @@ name = "brainburger" desc = "A strange looking burger. It looks almost sentient." icon_state = "brainburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/brain/New() - ..() - reagents.add_reagent("mannitol", 6) - reagents.add_reagent("vitamin", 3) + list_reagents = list("nutriment" = 6, "mannitol" = 6, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/ghost name = "ghost burger" @@ -97,66 +71,42 @@ desc = "Perfect for hiding the fact it's burnt to a crisp." icon_state = "cburger" color = "#DA0000FF" - -/obj/item/weapon/reagent_containers/food/snacks/burger/red/New() - ..() - reagents.add_reagent("redcrayonpowder", 10) - bitesize = 3 + list_reagents = list("nutriment" = 6, "redcrayonpowder" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/orange name = "orange burger" desc = "Contains 0% juice." icon_state = "cburger" color = "#FF9300FF" - -/obj/item/weapon/reagent_containers/food/snacks/burger/orange/New() - ..() - reagents.add_reagent("orangecrayonpowder", 10) - bitesize = 3 + list_reagents = list("nutriment" = 6, "orangecrayonpowder" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/yellow name = "yellow burger" desc = "Bright to the last bite." icon_state = "cburger" color = "#FFF200FF" - -/obj/item/weapon/reagent_containers/food/snacks/burger/yellow/New() - ..() - reagents.add_reagent("yellowcrayonpowder", 10) - bitesize = 3 + list_reagents = list("nutriment" = 6, "yellowcrayonpowder" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/green name = "green burger" desc = "It's not tainted meat, it's painted meat!" icon_state = "cburger" color = "#A8E61DFF" - -/obj/item/weapon/reagent_containers/food/snacks/burger/green/New() - ..() - reagents.add_reagent("greencrayonpowder", 10) - bitesize = 3 + list_reagents = list("nutriment" = 6, "greencrayonpowder" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/blue name = "blue burger" desc = "Is this blue rare?" icon_state = "cburger" color = "#00B7EFFF" - -/obj/item/weapon/reagent_containers/food/snacks/burger/blue/New() - ..() - reagents.add_reagent("bluecrayonpowder", 10) - bitesize = 3 + list_reagents = list("nutriment" = 6, "bluecrayonpowder" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/purple name = "purple burger" desc = "Regal and low class at the same time." icon_state = "cburger" color = "#DA00FFFF" - -/obj/item/weapon/reagent_containers/food/snacks/burger/purple/New() - ..() - reagents.add_reagent("purplecrayonpowder", 10) - bitesize = 3 + list_reagents = list("nutriment" = 6, "purplecrayonpowder" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/spell name = "spell burger" @@ -167,33 +117,21 @@ name = "big bite burger" desc = "Forget the Big Mac. THIS is the future!" icon_state = "bigbiteburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/bigbite/New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 3 + list_reagents = list("nutriment" = 14, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/jelly name = "jelly burger" desc = "Culinary delight..?" icon_state = "jellyburger" -/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime/New() - ..() - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("vitamin", 3) +/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime + list_reagents = list("nutriment" = 6, "slimejelly" = 5, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry/New() - ..() - reagents.add_reagent("cherryjelly", 5) - reagents.add_reagent("vitamin", 3) +/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry + list_reagents = list("nutriment" = 6, "cherryjelly" = 5, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/burger/superbite name = "super bite burger" desc = "This is a mountain of a burger. FOOD!" icon_state = "superbiteburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/superbite/New() - ..() - reagents.add_reagent("nutriment", 40) - bitesize = 10 + list_reagents = list("nutriment" = 46, "vitamin" = 5) diff --git a/code/modules/food&drinks/food/snacks_cake.dm b/code/modules/food&drinks/food/snacks_cake.dm index d2085f9ab74..259b81df7db 100644 --- a/code/modules/food&drinks/food/snacks_cake.dm +++ b/code/modules/food&drinks/food/snacks_cake.dm @@ -5,20 +5,13 @@ icon_state = "carrotcake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("oculine", 10) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 20, "oculine" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice name = "carrot cake slice" desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." icon_state = "carrotcake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake name = "brain cake" @@ -26,20 +19,13 @@ icon_state = "braincake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/braincakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("mannitol", 10) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 20, "mannitol" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/braincakeslice name = "brain cake slice" desc = "Lemme tell you something about prions. THEY'RE DELICIOUS." icon_state = "braincakeslice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake name = "cheese cake" @@ -47,19 +33,13 @@ icon_state = "cheesecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice name = "cheese cake slice" desc = "Slice of pure cheestisfaction." icon_state = "cheesecake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake name = "vanilla cake" @@ -67,18 +47,13 @@ icon_state = "plaincake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice name = "vanilla cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "plaincake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake name = "orange cake" @@ -86,18 +61,13 @@ icon_state = "orangecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice name = "orange cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "orangecake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake name = "lime cake" @@ -105,18 +75,12 @@ icon_state = "limecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/limecakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) - + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/limecakeslice name = "lime cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "limecake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake name = "lemon cake" @@ -124,18 +88,13 @@ icon_state = "lemoncake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice name = "lemon cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "lemoncake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake name = "chocolate cake" @@ -143,18 +102,13 @@ icon_state = "chocolatecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice name = "chocolate cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "chocolatecake_slice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake name = "birthday cake" @@ -162,20 +116,13 @@ icon_state = "birthdaycake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("sprinkles", 10) - reagents.add_reagent("vitamin", 5) - bitesize = 3 + list_reagents = list("nutriment" = 20, "sprinkles" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice name = "birthday cake slice" desc = "A slice of your birthday." icon_state = "birthdaycakeslice" trash = /obj/item/trash/plate - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake name = "apple cake" @@ -183,15 +130,10 @@ icon_state = "applecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/applecakeslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake/New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("vitamin", 5) + list_reagents = list("nutriment" = 20, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/applecakeslice name = "apple cake slice" desc = "A slice of heavenly cake." icon_state = "applecakeslice" trash = /obj/item/trash/plate - bitesize = 2 diff --git a/code/modules/food&drinks/food/snacks_egg.dm b/code/modules/food&drinks/food/snacks_egg.dm index 00a9825d034..ee277292cac 100644 --- a/code/modules/food&drinks/food/snacks_egg.dm +++ b/code/modules/food&drinks/food/snacks_egg.dm @@ -5,23 +5,13 @@ name = "chocolate egg" desc = "Such, sweet, fattening food." icon_state = "chocolateegg" - -/obj/item/weapon/reagent_containers/food/snacks/chocolateegg/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) - bitesize = 2 + list_reagents = list("nutriment" = 4, "sugar" = 2, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/egg name = "egg" desc = "An egg!" icon_state = "egg" - -/obj/item/weapon/reagent_containers/food/snacks/egg/New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("vitamin", 1) + list_reagents = list("nutriment" = 1, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom) ..() @@ -80,32 +70,21 @@ name = "fried egg" desc = "A fried egg, with a touch of salt and pepper." icon_state = "friedegg" - -/obj/item/weapon/reagent_containers/food/snacks/friedegg/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("blackpepper", 1) + list_reagents = list("nutriment" = 2, "sodiumchloride" = 1, "blackpepper" = 1, "vitamin" = 1) bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/boiledegg name = "boiled egg" desc = "A hard boiled egg." icon_state = "egg" - -/obj/item/weapon/reagent_containers/food/snacks/boiledegg/New() - ..() - reagents.add_reagent("nutriment", 2) + list_reagents = list("nutriment" = 2, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/omelette //FUCK THIS name = "omelette du fromage" desc = "That's all you can say!" icon_state = "omelette" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/omelette/New() - ..() - reagents.add_reagent("nutriment", 8) + list_reagents = list("nutriment" = 7, "vitamin" = 2) bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/omelette/attackby(obj/item/weapon/W, mob/user) @@ -128,9 +107,4 @@ name = "eggs benedict" desc = "There is only one egg on this, how rude." icon_state = "benedict" - -/obj/item/weapon/reagent_containers/food/snacks/benedict/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 4) - bitesize = 3 + list_reagents = list("nutriment" = 6, "vitamin" = 4) diff --git a/code/modules/food&drinks/food/snacks_meat.dm b/code/modules/food&drinks/food/snacks_meat.dm index 191739db7da..0b84a8f7573 100644 --- a/code/modules/food&drinks/food/snacks_meat.dm +++ b/code/modules/food&drinks/food/snacks_meat.dm @@ -8,25 +8,19 @@ desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!" icon_state = "cubancarp" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/cubancarp/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("capsaicin", 3) + list_reagents = list("nutriment" = 6, "vitamin" = 3) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/carpmeat name = "carp fillet" desc = "A fillet of spess carp meat." icon_state = "fishfillet" + list_reagents = list("nutriment" = 2, "carpotoxin" = 2, "vitamin" = 2) + bitesize = 6 /obj/item/weapon/reagent_containers/food/snacks/carpmeat/New() ..() eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp") - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("carpotoxin", 2) - reagents.add_reagent("vitamin", 2) - bitesize = 6 /obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation name = "imitation carp fillet" @@ -36,21 +30,14 @@ name = "fish fingers" desc = "A finger of fish." icon_state = "fishfingers" - -/obj/item/weapon/reagent_containers/food/snacks/fishfingers/New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 3 + list_reagents = list("nutriment" = 4) + bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/fishandchips name = "fish and chips" desc = "I do say so myself chap." icon_state = "fishandchips" - -/obj/item/weapon/reagent_containers/food/snacks/fishandchips/New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 3 + list_reagents = list("nutriment" = 6) ////////////////////////////////////////////MEATS AND ALIKE//////////////////////////////////////////// @@ -58,162 +45,96 @@ name = "tofu" desc = "We all love tofu." icon_state = "tofu" - -/obj/item/weapon/reagent_containers/food/snacks/tofu/New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 3 - + list_reagents = list("nutriment" = 2) /obj/item/weapon/reagent_containers/food/snacks/tomatomeat name = "tomato slice" desc = "A slice from a huge tomato." icon_state = "tomatomeat" - -/obj/item/weapon/reagent_containers/food/snacks/tomatomeat/New() - ..() - reagents.add_reagent("nutriment", 3) - src.bitesize = 3 + list_reagents = list("nutriment" = 2) /obj/item/weapon/reagent_containers/food/snacks/bearmeat name = "bear meat" desc = "A very manly slab of meat." icon_state = "bearmeat" - -/obj/item/weapon/reagent_containers/food/snacks/bearmeat/New() - ..() - reagents.add_reagent("nutriment", 12) - reagents.add_reagent("morphine", 5) - reagents.add_reagent("vitamin", 2) - src.bitesize = 3 + list_reagents = list("nutriment" = 12, "morphine" = 5, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/xenomeat name = "meat" desc = "A slab of meat" icon_state = "xenomeat" - -/obj/item/weapon/reagent_containers/food/snacks/xenomeat/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("vitamin", 1) - src.bitesize = 3 + list_reagents = list("nutriment" = 3, "vitamin" = 1) + bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/spidermeat name = "spider meat" desc = "A slab of spider meat." icon_state = "spidermeat" - -/obj/item/weapon/reagent_containers/food/snacks/spidermeat/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("toxin", 3) - reagents.add_reagent("vitamin", 1) - bitesize = 3 + list_reagents = list("nutriment" = 3, "toxin" = 3, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/spiderleg name = "spider leg" desc = "A still twitching leg of a giant spider... you don't really want to eat this, do you?" icon_state = "spiderleg" - -/obj/item/weapon/reagent_containers/food/snacks/spiderleg/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("toxin", 2) - bitesize = 2 + list_reagents = list("nutriment" = 2, "toxin" = 2) /obj/item/weapon/reagent_containers/food/snacks/cornedbeef name = "corned beef and cabbage" desc = "Now you can feel like a real tourist vacationing in Ireland." icon_state = "cornedbeef" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/cornedbeef/New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 3 + list_reagents = list("nutriment" = 6) /obj/item/weapon/reagent_containers/food/snacks/faggot name = "faggot" desc = "A great meal all round. Not a cord of wood." icon_state = "faggot" - -/obj/item/weapon/reagent_containers/food/snacks/faggot/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 1, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/sausage name = "sausage" desc = "A piece of mixed, long meat." icon_state = "sausage" + list_reagents = list("nutriment" = 5, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/sausage/New() ..() eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 1) - bitesize = 2 - /obj/item/weapon/reagent_containers/food/snacks/wingfangchu name = "wing fang chu" desc = "A savory dish of alien wing wang in soy." icon_state = "wingfangchu" trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/wingfangchu/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 2) - bitesize = 2 + list_reagents = list("nutriment" = 6, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/human/kebab name = "-kebab" icon_state = "kebab" desc = "A human meat, on a stick." trash = /obj/item/stack/rods - -/obj/item/weapon/reagent_containers/food/snacks/human/kebab/New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 + list_reagents = list("nutriment" = 8) /obj/item/weapon/reagent_containers/food/snacks/monkeykebab name = "meat-kebab" icon_state = "kebab" desc = "Delicious meat, on a stick." trash = /obj/item/stack/rods - -/obj/item/weapon/reagent_containers/food/snacks/monkeykebab/New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 + list_reagents = list("nutriment" = 8) /obj/item/weapon/reagent_containers/food/snacks/tofukebab name = "tofu-kebab" icon_state = "kebab" desc = "Vegan meat, on a stick." trash = /obj/item/stack/rods - -/obj/item/weapon/reagent_containers/food/snacks/tofukebab/New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 + list_reagents = list("nutriment" = 8) /obj/item/weapon/reagent_containers/food/snacks/meatsteak name = "meat steak" desc = "A piece of hot spicy meat." icon_state = "meatsteak" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/meatsteak/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("vitamin", 1) - bitesize = 3 + list_reagents = list("nutriment" = 8, "sodiumchloride" = 1, "blackpepper" = 1, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/monkeycube name = "monkey cube" @@ -221,10 +142,7 @@ icon_state = "monkeycube" bitesize = 12 wrapped = 0 - -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/New() - ..() - reagents.add_reagent("nutriment",10) + list_reagents = list("nutriment" = 10) /obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O, mob/user,proximity) if(!proximity) return @@ -250,7 +168,6 @@ user << "You unwrap the cube." wrapped = 0 - /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped desc = "Still wrapped in some paper." icon_state = "monkeycubewrap" @@ -260,11 +177,7 @@ name = "enchiladas" desc = "Viva La Mexico!" icon_state = "enchiladas" - -/obj/item/weapon/reagent_containers/food/snacks/enchiladas/New() - ..() - reagents.add_reagent("nutriment",8) - reagents.add_reagent("capsaicin", 6) + list_reagents = list("nutriment" = 8, "capsaicin" = 6) bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/stew @@ -272,80 +185,41 @@ desc = "A nice and warm stew. Healthy and strong." icon_state = "stew" trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 10, "tomatojuice" = 5, "oculine" = 5, "water" = 5) + bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/stew/New() ..() eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("oculine", 5) - reagents.add_reagent("water", 5) - bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat name = "stewed soy meat" desc = "Even non-vegetarians will LOVE this!" icon_state = "stewedsoymeat" trash = /obj/item/trash/plate + list_reagents = list("nutriment" = 8) /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat/New() ..() eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - bitesize = 2 - - -/* No more of this -/obj/item/weapon/reagent_containers/food/snacks/telebacon - name = "tele bacon" - desc = "It tastes a little odd but it is still delicious." - icon_state = "bacon" - var/obj/item/device/radio/beacon/bacon/baconbeacon - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/telebacon/New() - ..() - reagents.add_reagent("nutriment", 4) - baconbeacon = new /obj/item/device/radio/beacon/bacon(src) -/obj/item/weapon/reagent_containers/food/snacks/telebacon/On_Consume() - if(!reagents.total_volume) - baconbeacon.loc = usr - baconbeacon.digest_delay() -*/ - /obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg name = "boiled spider leg" desc = "A giant spider's leg that's still twitching after being cooked. Gross!" icon_state = "spiderlegcooked" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("toxin", 2) - bitesize = 3 + list_reagents = list("nutriment" = 2, "capsaicin" = 2) /obj/item/weapon/reagent_containers/food/snacks/spidereggsham name = "green eggs and ham" desc = "Would you eat them on a train? Would you eat them on a plane? Would you eat them on a state of the art corporate deathtrap floating through space?" icon_state = "spidereggsham" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/spidereggsham/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("toxin", 3) + list_reagents = list("nutriment" = 6, "sodiumchloride" = 1, "toxin" = 3) bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/sashimi name = "carp sashimi" desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself." icon_state = "sashimi" - -/obj/item/weapon/reagent_containers/food/snacks/sashimi/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("toxin", 5) - bitesize = 3 + list_reagents = list("nutriment" = 6, "capsaicin" = 4) diff --git a/code/modules/food&drinks/food/snacks_other.dm b/code/modules/food&drinks/food/snacks_other.dm index f8b392e0e61..dd0f226b827 100644 --- a/code/modules/food&drinks/food/snacks_other.dm +++ b/code/modules/food&drinks/food/snacks_other.dm @@ -5,26 +5,14 @@ name = "candy corn" desc = "It's a handful of candy corn. Can be stored in a detective's hat." icon_state = "candy_corn" - -/obj/item/weapon/reagent_containers/food/snacks/candy_corn/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("sugar", 2) - bitesize = 2 + list_reagents = list("nutriment" = 4, "sugar" = 2) /obj/item/weapon/reagent_containers/food/snacks/chocolatebar name = "chocolate bar" desc = "Such, sweet, fattening food." icon_state = "chocolatebarunwrapped" wrapped = 0 - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) - reagents.add_reagent("vitamin", 1) + list_reagents = list("nutriment" = 4, "sugar" = 2, "coco" = 2, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/chocolatebar/attack_self(mob/user) if(wrapped) @@ -48,209 +36,116 @@ name = "huge mushroom slice" desc = "A slice from a huge mushroom." icon_state = "hugemushroomslice" - -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("vitamin", 1) - src.bitesize = 3 - + list_reagents = list("nutriment" = 3, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/popcorn name = "popcorn" desc = "Now let's find some cinema." icon_state = "popcorn" trash = /obj/item/trash/popcorn - var/unpopped = 0 + list_reagents = list("nutriment" = 2) + bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0 /obj/item/weapon/reagent_containers/food/snacks/popcorn/New() ..() eatverb = pick("bite","crunch","nibble","gnaw","gobble","chomp") - unpopped = rand(1,10) - reagents.add_reagent("nutriment", 2) - bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0 - -/obj/item/weapon/reagent_containers/food/snacks/popcorn/On_Consume() - if(prob(unpopped)) //lol ...what's the point? << AINT SO POINTLESS NO MORE - usr << "You bite down on an un-popped kernel, and it hurts your teeth!" - unpopped = max(0, unpopped-1) - reagents.add_reagent("sacid",0.1) //only a little tingle. - ..() /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato name = "loaded baked potato" desc = "Totally baked." icon_state = "loadedbakedpotato" - -/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato/New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 + list_reagents = list("nutriment" = 6) /obj/item/weapon/reagent_containers/food/snacks/fries name = "space fries" desc = "AKA: French Fries, Freedom Fries, etc." icon_state = "fries" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/fries/New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 2 + list_reagents = list("nutriment" = 4) /obj/item/weapon/reagent_containers/food/snacks/soydope name = "soy dope" desc = "Dope from a soy." icon_state = "soydope" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/soydope/New() - ..() - reagents.add_reagent("nutriment", 2) - bitesize = 2 + list_reagents = list("nutriment" = 2) /obj/item/weapon/reagent_containers/food/snacks/cheesyfries name = "cheesy fries" desc = "Fries. Covered in cheese. Duh." icon_state = "cheesyfries" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/cheesyfries/New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 + list_reagents = list("nutriment" = 6) /obj/item/weapon/reagent_containers/food/snacks/badrecipe name = "burned mess" desc = "Someone should be demoted from cook for this." icon_state = "badrecipe" - -/obj/item/weapon/reagent_containers/food/snacks/badrecipe/New() - ..() - eatverb = pick("choke down","nibble","gnaw","chomp") - reagents.add_reagent("????", 30) - bitesize = 2 + list_reagents = list("????" = 30) /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff name = "spacy liberty duff" desc = "Jello gelatin, from Alfred Hubbard's cookbook." icon_state = "spacylibertyduff" trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("mushroomhallucinogen", 6) bitesize = 3 + list_reagents = list("nutriment" = 6, "mushroomhallucinogen" = 6) /obj/item/weapon/reagent_containers/food/snacks/amanitajelly name = "amanita jelly" desc = "Looks curiously toxic." icon_state = "amanitajelly" trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("amatoxin", 6) - reagents.add_reagent("mushroomhallucinogen", 3) bitesize = 3 + list_reagents = list("nutriment" = 6, "amatoxin" = 6, "mushroomhallucinogen" = 6) /obj/item/weapon/reagent_containers/food/snacks/carrotfries name = "carrot fries" desc = "Tasty fries from fresh Carrots." icon_state = "carrotfries" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/carrotfries/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("oculine", 3) - reagents.add_reagent("vitamin", 2) - bitesize = 2 + list_reagents = list("nutriment" = 3, "oculine" = 3, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/candiedapple name = "candied apple" desc = "An apple coated in sugary sweetness." icon_state = "candiedapple" - -/obj/item/weapon/reagent_containers/food/snacks/candiedapple/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sugar", 3) bitesize = 3 + list_reagents = list("nutriment" = 3, "sugar" = 3) -/* -/obj/item/weapon/reagent_containers/food/snacks/boiledslimecore - name = "Boiled slime Core" - desc = "A boiled red thing." - icon_state = "boiledslimecore" - -/obj/item/weapon/reagent_containers/food/snacks/boiledslimecore/New() - ..() - reagents.add_reagent("slimejelly", 5) - bitesize = 3 -*/ /obj/item/weapon/reagent_containers/food/snacks/mint name = "mint" desc = "it is only wafer thin." icon_state = "mint" - -/obj/item/weapon/reagent_containers/food/snacks/mint/New() - ..() - reagents.add_reagent("minttoxin", 1) bitesize = 1 + list_reagents = list("minttoxin" = 1) /obj/item/weapon/reagent_containers/food/snacks/wrap name = "egg wrap" desc = "The precursor to Pigs in a Blanket." icon_state = "wrap" - -/obj/item/weapon/reagent_containers/food/snacks/wrap/New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 2 + list_reagents = list("nutriment" = 5) /obj/item/weapon/reagent_containers/food/snacks/beans name = "tin of beans" desc = "Musical fruit in a slightly less musical container." icon_state = "beans" - -/obj/item/weapon/reagent_containers/food/snacks/beans/New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 + list_reagents = list("nutriment" = 10) /obj/item/weapon/reagent_containers/food/snacks/spidereggs name = "spider eggs" desc = "A cluster of juicy spider eggs. A great side dish for when you care not for your health." icon_state = "spidereggs" - -/obj/item/weapon/reagent_containers/food/snacks/spidereggs/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("toxin", 3) - bitesize = 2 + list_reagents = list("nutriment" = 2, "toxin" = 2) /obj/item/weapon/reagent_containers/food/snacks/chococoin name = "chocolate coin" desc = "A completely edible but nonflippable festive coin." icon_state = "chococoin" - -/obj/item/weapon/reagent_containers/food/snacks/chococoin/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) - bitesize = 2 + list_reagents = list("nutriment" = 2, "sugar" = 2, "coco" = 2) /obj/item/weapon/reagent_containers/food/snacks/chocoorange name = "chocolate orange" desc = "A festive chocolate orange" icon_state = "chocoorange" - -/obj/item/weapon/reagent_containers/food/snacks/chocoorange/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) + list_reagents = list("nutriment" = 4, "sugar" = 2, "coco" = 2) diff --git a/code/modules/food&drinks/food/snacks_pastry.dm b/code/modules/food&drinks/food/snacks_pastry.dm index 94ec53c997e..86c7592ec6e 100644 --- a/code/modules/food&drinks/food/snacks_pastry.dm +++ b/code/modules/food&drinks/food/snacks_pastry.dm @@ -1,115 +1,62 @@ //Pastry is a food that is made from dough which is made from wheat or rye flour. //This file contains pastries that don't fit any existing categories. - ////////////////////////////////////////////DONUTS//////////////////////////////////////////// /obj/item/weapon/reagent_containers/food/snacks/donut name = "donut" - icon_state = "donut1" - -/obj/item/weapon/reagent_containers/food/snacks/donut/normal desc = "Goes great with Robust Coffee." + icon_state = "donut1" + bitesize = 5 + list_reagents = list("nutriment" = 3, "sugar" = 1) + var/extra_reagent = null -/obj/item/weapon/reagent_containers/food/snacks/donut/normal/New() +/obj/item/weapon/reagent_containers/food/snacks/donut/New() ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("sugar", 2) - src.bitesize = 3 if(prob(30)) - src.icon_state = "donut2" - src.name = "frosted donut" + icon_state = "donut2" + name = "frosted donut" reagents.add_reagent("sprinkles", 2) /obj/item/weapon/reagent_containers/food/snacks/donut/chaos name = "chaos donut" desc = "Like life, it never quite tastes the same." + bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/donut/chaos/New() ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("sugar", 1) - bitesize = 10 - switch(rand(1,10)) - if(1) - reagents.add_reagent("nutriment", 3) - if(2) - reagents.add_reagent("capsaicin", 3) - if(3) - reagents.add_reagent("frostoil", 3) - if(4) - reagents.add_reagent("sprinkles", 3) - if(5) - reagents.add_reagent("plasma", 3) - if(6) - reagents.add_reagent("coco", 3) - if(7) - reagents.add_reagent("slimejelly", 3) - if(8) - reagents.add_reagent("banana", 3) - if(9) - reagents.add_reagent("berryjuice", 3) - if(10) - reagents.add_reagent("omnizine", 3) + extra_reagent = pick("nutriment", "capsaicin", "frostoil", "krokodil", "plasma", "coco", "slimejelly", "banana", "berryjuice", "omnizine") + reagents.add_reagent("[extra_reagent]", 3) if(prob(30)) icon_state = "donut2" name = "frosted chaos donut" reagents.add_reagent("sprinkles", 2) - /obj/item/weapon/reagent_containers/food/snacks/donut/jelly name = "jelly donut" desc = "You jelly?" icon_state = "jdonut1" - bitesize = 5 + list_reagents = list("nutriment" = 3, "sugar" = 1) + extra_reagent = "berryjuice" /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/New() ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("berryjuice", 5) - reagents.add_reagent("vitamin", 1) + reagents.add_reagent("[extra_reagent]", 5) if(prob(30)) icon_state = "jdonut2" - name = "Frosted Jelly Donut" + name = "frosted jelly Donut" reagents.add_reagent("sprinkles", 2) -/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly +/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly name = "jelly donut" desc = "You jelly?" icon_state = "jdonut1" - bitesize = 5 + extra_reagent = "slimejelly" -/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("vitamin", 1) - bitesize = 5 - if(prob(30)) - icon_state = "jdonut2" - name = "Frosted Jelly Donut" - reagents.add_reagent("sprinkles", 2) - -/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly +/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly name = "jelly donut" desc = "You jelly?" icon_state = "jdonut1" - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("cherryjelly", 5) - reagents.add_reagent("vitamin", 1) - if(prob(30)) - icon_state = "jdonut2" - name = "Frosted Jelly Donut" - reagents.add_reagent("sprinkles", 2) - + extra_reagent = "cherryjelly" ////////////////////////////////////////////MUFFINS//////////////////////////////////////////// @@ -117,11 +64,7 @@ name = "muffin" desc = "A delicious and spongy little cake." icon_state = "muffin" - -/obj/item/weapon/reagent_containers/food/snacks/muffin/New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 + list_reagents = list("nutriment" = 6) /obj/item/weapon/reagent_containers/food/snacks/muffin/berry name = "berry muffin" @@ -139,11 +82,8 @@ desc = "A legendary egg custard that makes friends out of enemies. Probably too hot for a cat to eat." icon_state = "chawanmushi" trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 6) -/obj/item/weapon/reagent_containers/food/snacks/chawanmushi/New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 1 ////////////////////////////////////////////WAFFLES//////////////////////////////////////////// /obj/item/weapon/reagent_containers/food/snacks/waffles @@ -151,49 +91,29 @@ desc = "Mmm, waffles." icon_state = "waffles" trash = /obj/item/trash/waffles - -/obj/item/weapon/reagent_containers/food/snacks/waffles/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 7, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/soylentgreen name = "\improper Soylent Green" desc = "Not made of people. Honest." //Totally people. icon_state = "soylent_green" trash = /obj/item/trash/waffles - -/obj/item/weapon/reagent_containers/food/snacks/soylentgreen/New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 9, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/soylenviridians name = "\improper Soylent Virdians" desc = "Not made of people. Honest." //Actually honest for once. icon_state = "soylent_yellow" trash = /obj/item/trash/waffles - -/obj/item/weapon/reagent_containers/food/snacks/soylenviridians/New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 9, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles name = "roffle waffles" desc = "Waffles from Roffle. Co." icon_state = "rofflewaffles" trash = /obj/item/trash/waffles - -/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("mushroomhallucinogen", 8) - reagents.add_reagent("vitamin", 2) bitesize = 4 + list_reagents = list("nutriment" = 8, "mushroomhallucinogen" = 8, "vitamin" = 2) ////////////////////////////////////////////OTHER//////////////////////////////////////////// @@ -201,132 +121,81 @@ name = "cookie" desc = "COOKIE!!!" icon_state = "COOKIE!!!" - -/obj/item/weapon/reagent_containers/food/snacks/cookie/New() - ..() - reagents.add_reagent("nutriment", 5) bitesize = 1 + list_reagents = list("nutriment" = 5) /obj/item/weapon/reagent_containers/food/snacks/donkpocket name = "\improper Donk-pocket" desc = "The food of choice for the seasoned traitor." icon_state = "donkpocket" - -/obj/item/weapon/reagent_containers/food/snacks/donkpocket/New() - ..() - reagents.add_reagent("nutriment", 4) + list_reagents = list("nutriment" = 4) /obj/item/weapon/reagent_containers/food/snacks/donkpocketwarm name = "\improper Warm Donk-pocket" desc = "The heated food of choice for the seasoned traitor." icon_state = "donkpocket" - -/obj/item/weapon/reagent_containers/food/snacks/donkpocketwarm/New() - ..() - reagents.add_reagent("omnizine", 4) - reagents.add_reagent("nutriment", 4) + list_reagents = list("nutriment" = 4, "omnizine" = 4) /obj/item/weapon/reagent_containers/food/snacks/fortunecookie name = "fortune cookie" desc = "A true prophecy in each cookie!" icon_state = "fortune_cookie" - -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 2 + list_reagents = list("nutriment" = 3) /obj/item/weapon/reagent_containers/food/snacks/poppypretzel name = "poppy pretzel" desc = "It's all twisted up!" icon_state = "poppypretzel" - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/poppypretzel/New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 2 - + list_reagents = list("nutriment" = 5) /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit name = "plump helmet biscuit" desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced dwarven wheat flour." icon_state = "phelmbiscuit" - + list_reagents = list("nutriment" = 5, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit/New() ..() if(prob(10)) name = "exceptional plump helmet biscuit" desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!" - reagents.add_reagent("nutriment", 3) reagents.add_reagent("omnizine", 5) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("vitamin", 1) - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/appletart name = "golden apple streusel tart" desc = "A tasty dessert that won't make it through a metal detector." icon_state = "gappletart" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/appletart/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("gold", 5) - reagents.add_reagent("vitamin", 4) bitesize = 3 + list_reagents = list("nutriment" = 8, "gold" = 5, "vitamin" = 4) /obj/item/weapon/reagent_containers/food/snacks/cracker name = "cracker" desc = "It's a salted cracker." icon_state = "cracker" - -/obj/item/weapon/reagent_containers/food/snacks/cracker/New() - ..() - reagents.add_reagent("nutriment", 1) + bitesize = 1 + list_reagents = list("nutriment" = 1) /obj/item/weapon/reagent_containers/food/snacks/hotdog name = "hotdog" desc = "Fresh footlong ready to go down on." icon_state = "hotdog" - -/obj/item/weapon/reagent_containers/food/snacks/hotdog/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("ketchup", 3) - reagents.add_reagent("vitamin", 3) bitesize = 3 + list_reagents = list("nutriment" = 6, "ketchup" = 3, "vitamin" = 3) /obj/item/weapon/reagent_containers/food/snacks/meatbun name = "meat bun" desc = "Has the potential to not be Dog." icon_state = "meatbun" - -/obj/item/weapon/reagent_containers/food/snacks/meatbun/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 2) - bitesize = 6 + list_reagents = list("nutriment" = 4, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/sugarcookie name = "sugar cookie" desc = "Just like your little sister used to make." icon_state = "sugarcookie" - -/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sugar", 3) - bitesize = 2 + list_reagents = list("nutriment" = 3, "sugar" = 3) /obj/item/weapon/reagent_containers/food/snacks/chococornet/ name = "chocolate cornet" desc = "Which side's the head, the fat end or the thin end?" icon_state = "chococornet" - -/obj/item/weapon/reagent_containers/food/snacks/chococornet/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("vitamin", 1) + list_reagents = list("nutriment" = 6, "sodiumchloride" = 1, "vitamin" = 1) diff --git a/code/modules/food&drinks/food/snacks_pie.dm b/code/modules/food&drinks/food/snacks_pie.dm index 2937ee70a55..8b0ba2f676b 100644 --- a/code/modules/food&drinks/food/snacks_pie.dm +++ b/code/modules/food&drinks/food/snacks_pie.dm @@ -4,13 +4,7 @@ desc = "Just like back home, on clown planet! HONK!" icon_state = "pie" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/pie/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("banana",5) - reagents.add_reagent("vitamin", 2) - bitesize = 3 + list_reagents = list("nutriment" = 4, "banana" = 5, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom) ..() @@ -23,56 +17,34 @@ desc = "No black birds, this is a good sign." icon_state = "berryclafoutis" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("berryjuice", 5) - reagents.add_reagent("vitamin", 2) - bitesize = 3 + list_reagents = list("nutriment" = 4, "berryjuice" = 5, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/meatpie name = "meat-pie" icon_state = "meatpie" desc = "An old barber recipe, very delicious!" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/meatpie/New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/tofupie name = "tofu-pie" icon_state = "meatpie" desc = "A delicious tofu pie." trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/tofupie/New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("vitamin", 2) - bitesize = 2 + list_reagents = list("nutriment" = 10, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/amanita_pie name = "amanita pie" desc = "Sweet and tasty poison pie." icon_state = "amanita_pie" - -/obj/item/weapon/reagent_containers/food/snacks/amanita_pie/New() - ..() - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("amatoxin", 3) - reagents.add_reagent("mushroomhallucinogen", 1) - reagents.add_reagent("vitamin", 4) bitesize = 4 + list_reagents = list("nutriment" = 5, "amatoxin" = 3, "mushroomhallucinogen" = 1, "vitamin" = 4) /obj/item/weapon/reagent_containers/food/snacks/plump_pie name = "plump pie" desc = "I bet you love stuff made out of plump helmets!" icon_state = "plump_pie" - + list_reagents = list("nutriment" = 8, "vitamin" = 4) /obj/item/weapon/reagent_containers/food/snacks/plump_pie/New() ..() if(prob(10)) @@ -80,43 +52,24 @@ desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!" reagents.add_reagent("omnizine", 5) - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 4) - bitesize = 2 - /obj/item/weapon/reagent_containers/food/snacks/xemeatpie name = "xeno-pie" icon_state = "xenomeatpie" desc = "A delicious meatpie. Probably heretical." trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/xemeatpie/New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 10, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/applepie name = "apple pie" desc = "A pie containing sweet sweet love...or apple." icon_state = "applepie" - -/obj/item/weapon/reagent_containers/food/snacks/applepie/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("vitamin", 2) - bitesize = 3 + list_reagents = list("nutriment" = 4, "vitamin" = 3) /obj/item/weapon/reagent_containers/food/snacks/cherrypie name = "cherry pie" desc = "Taste so good, make a grown man cry." icon_state = "cherrypie" - -/obj/item/weapon/reagent_containers/food/snacks/cherrypie/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("vitamin", 2) - bitesize = 3 + list_reagents = list("nutriment" = 4, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie name = "pumpkin pie" @@ -124,15 +77,11 @@ icon_state = "pumpkinpie" slice_path = /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice slices_num = 5 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie/New() - ..() - reagents.add_reagent("nutriment", 15) - reagents.add_reagent("vitamin", 3) + list_reagents = list("nutriment" = 15, "vitamin" = 3) /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice name = "pumpkin pie slice" desc = "A slice of pumpkin pie, with whipped cream on top. Perfection." icon_state = "pumpkinpieslice" trash = /obj/item/trash/plate - bitesize = 2 + diff --git a/code/modules/food&drinks/food/snacks_pizza.dm b/code/modules/food&drinks/food/snacks_pizza.dm index 6b370d5dcb2..1767faa7aca 100644 --- a/code/modules/food&drinks/food/snacks_pizza.dm +++ b/code/modules/food&drinks/food/snacks_pizza.dm @@ -10,19 +10,12 @@ icon_state = "pizzamargherita" slice_path = /obj/item/weapon/reagent_containers/food/snacks/margheritaslice slices_num = 6 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("tomatojuice", 6) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 30, "tomatojuice" = 6, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/margheritaslice name = "margherita slice" desc = "A slice of the most cheezy pizza in galaxy." icon_state = "pizzamargheritaslice" - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza name = "meatpizza" @@ -30,19 +23,12 @@ icon_state = "meatpizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice slices_num = 6 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/New() - ..() - reagents.add_reagent("nutriment", 40) - reagents.add_reagent("tomatojuice", 6) - reagents.add_reagent("vitamin", 8) - bitesize = 2 + list_reagents = list("nutriment" = 40, "tomatojuice" = 6, "vitamin" = 8) /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice name = "meatpizza slice" desc = "A nutritious slice of meatpizza." icon_state = "meatpizzaslice" - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza name = "mushroom pizza" @@ -50,18 +36,12 @@ icon_state = "mushroompizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice slices_num = 6 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 30, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice name = "mushroom pizza slice" desc = "Maybe it is the last slice of pizza in your life." icon_state = "mushroompizzaslice" - bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza name = "vegetable pizza" @@ -69,20 +49,12 @@ icon_state = "vegetablepizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice slices_num = 6 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/New() - ..() - reagents.add_reagent("nutriment", 25) - reagents.add_reagent("tomatojuice", 6) - reagents.add_reagent("oculine", 12) - reagents.add_reagent("vitamin", 5) - bitesize = 2 + list_reagents = list("nutriment" = 25, "tomatojuice" = 6, "oculine" = 12, "vitamin" = 5) /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice name = "vegetable pizza slice" desc = "A slice of the most green pizza of all pizzas not containing green ingredients." icon_state = "vegetablepizzaslice" - bitesize = 2 /obj/item/pizzabox name = "pizza box" diff --git a/code/modules/food&drinks/food/snacks_salad.dm b/code/modules/food&drinks/food/snacks_salad.dm index 35d5a0f66ac..889b1a02b8d 100644 --- a/code/modules/food&drinks/food/snacks_salad.dm +++ b/code/modules/food&drinks/food/snacks_salad.dm @@ -1,41 +1,27 @@ //this category is very little but I think that it has great potential to grow ////////////////////////////////////////////SALAD//////////////////////////////////////////// +/obj/item/weapon/reagent_containers/food/snacks/salad + trash = /obj/item/trash/snack_bowl + bitesize = 3 -/obj/item/weapon/reagent_containers/food/snacks/aesirsalad +/obj/item/weapon/reagent_containers/food/snacks/salad/New() + ..() + eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp") + +/obj/item/weapon/reagent_containers/food/snacks/salad/aesirsalad name = "\improper Aesir salad" desc = "Probably too incredible for mortal men to fully enjoy." icon_state = "aesirsalad" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "tomatojuice" = 8, "vitamin" = 6) -/obj/item/weapon/reagent_containers/food/snacks/aesirsalad/New() - ..() - eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("omnizine", 8) - reagents.add_reagent("vitamin", 6) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/herbsalad +/obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad name = "herb salad" desc = "A tasty salad with apples on top." icon_state = "herbsalad" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "vitamin" = 2) -/obj/item/weapon/reagent_containers/food/snacks/herbsalad/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 2) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/validsalad +/obj/item/weapon/reagent_containers/food/snacks/salad/validsalad name = "valid salad" desc = "It's just an herb salad with meatballs and fried potato slices. Nothing suspicious about it." icon_state = "validsalad" - trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/validsalad/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("doctorsdelight", 5) - reagents.add_reagent("vitamin", 2) - bitesize = 3 \ No newline at end of file + list_reagents = list("nutriment" = 8, "doctorsdelight" = 5, "vitamin" = 2) diff --git a/code/modules/food&drinks/food/snacks_sandwichtoast.dm b/code/modules/food&drinks/food/snacks_sandwichtoast.dm index 3b086bf6194..fb507194f10 100644 --- a/code/modules/food&drinks/food/snacks_sandwichtoast.dm +++ b/code/modules/food&drinks/food/snacks_sandwichtoast.dm @@ -4,109 +4,62 @@ desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud." icon_state = "sandwich" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/sandwich/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 6, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich name = "toasted sandwich" desc = "Now if you only had a pepper bar." icon_state = "toastedsandwich" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("carbon", 2) - bitesize = 2 + list_reagents = list("nutriment" = 6, "carbon" = 2) /obj/item/weapon/reagent_containers/food/snacks/grilledcheese name = "grilled cheese sandwich" desc = "Goes great with Tomato soup!" icon_state = "toastedsandwich" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese/New() - ..() - reagents.add_reagent("nutriment", 7) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 7, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/jellysandwich name = "jelly sandwich" desc = "You wish you had some peanut butter to go with this..." icon_state = "jellysandwich" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/New() - ..() - reagents.add_reagent("nutriment", 2) bitesize = 3 -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime/New() - ..() - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("vitamin", 2) - -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry/New() - ..() - reagents.add_reagent("cherryjelly", 5) - reagents.add_reagent("vitamin", 2) +/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime + list_reagents = list("nutriment" = 2, "slimejelly" = 5, "vitamin" = 2) +/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry + list_reagents = list("nutriment" = 2, "cherryjelly" = 5, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich name = "icecream sandwich" desc = "Portable Ice-cream in it's own packaging." icon_state = "icecreamsandwich" - -/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("ice", 2) - bitesize = 2 + list_reagents = list("nutriment" = 2, "ice" = 2) /obj/item/weapon/reagent_containers/food/snacks/notasandwich name = "not-a-sandwich" desc = "Something seems to be wrong with this, you can't quite figure what. Maybe it's his moustache." icon_state = "notasandwich" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/notasandwich/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 6) - bitesize = 2 + list_reagents = list("nutriment" = 6, "vitamin" = 6) /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast name = "jellied toast" desc = "A slice of bread covered with delicious jam." icon_state = "jellytoast" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/New() - ..() - reagents.add_reagent("nutriment", 1) bitesize = 3 -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry/New() - ..() - reagents.add_reagent("cherryjelly", 5) - reagents.add_reagent("vitamin", 2) +/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry + list_reagents = list("nutriment" = 2, "cherryjelly" = 5, "vitamin" = 2) -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime/New() - ..() - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("vitamin", 2) +/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime + list_reagents = list("nutriment" = 2, "slimejelly" = 5, "vitamin" = 2) /obj/item/weapon/reagent_containers/food/snacks/twobread name = "two bread" desc = "This seems awfully bitter." icon_state = "twobread" - -/obj/item/weapon/reagent_containers/food/snacks/twobread/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("vitamin", 2) - bitesize = 3 + list_reagents = list("nutriment" = 2, "vitamin" = 2) diff --git a/code/modules/food&drinks/food/snacks_soup.dm b/code/modules/food&drinks/food/snacks_soup.dm index 92fbe50250b..4f99bb10927 100644 --- a/code/modules/food&drinks/food/snacks_soup.dm +++ b/code/modules/food&drinks/food/snacks_soup.dm @@ -1,247 +1,112 @@ +/obj/item/weapon/reagent_containers/food/snacks/soup + bitesize = 5 + trash = /obj/item/trash/snack_bowl -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup +/obj/item/weapon/reagent_containers/food/snacks/soup/New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + +/obj/item/weapon/reagent_containers/food/snacks/soup/meatballsoup name = "meatball soup" desc = "You've got balls kid, BALLS!" icon_state = "meatballsoup" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - reagents.add_reagent("vitamin", 4) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/slimesoup +/obj/item/weapon/reagent_containers/food/snacks/soup/slimesoup name = "slime soup" desc = "If no water is available, you may substitute tears." icon_state = "slimesoup" + list_reagents = list("nutriment" = 2, "slimejelly" = 5, "water" = 10, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/slimesoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("water", 10) - reagents.add_reagent("vitamin", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup +/obj/item/weapon/reagent_containers/food/snacks/soup/bloodsoup name = "tomato soup" desc = "Smells like copper." icon_state = "tomatosoup" + list_reagents = list("nutriment" = 2, "blood" = 10, "water" = 5, "vitamin" = 6) -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("blood", 10) - reagents.add_reagent("water", 5) - reagents.add_reagent("vitamin", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/clownstears +/obj/item/weapon/reagent_containers/food/snacks/soup/clownstears name = "clown's tears" desc = "Not very funny." icon_state = "clownstears" + list_reagents = list("nutriment" = 4, "banana" = 5, "water" = 10, "vitamin" = 8) -/obj/item/weapon/reagent_containers/food/snacks/clownstears/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("banana", 5) - reagents.add_reagent("water", 10) - reagents.add_reagent("vitamin", 8) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup +/obj/item/weapon/reagent_containers/food/snacks/soup/vegetablesoup name = "vegetable soup" desc = "A true vegan meal." icon_state = "vegetablesoup" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 4) -/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - reagents.add_reagent("vitamin", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/nettlesoup +/obj/item/weapon/reagent_containers/food/snacks/soup/nettlesoup name = "nettle soup" desc = "To think, the botanist would've beat you to death with one of these." icon_state = "nettlesoup" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "omnizine" = 5, "water" = 6, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/nettlesoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - reagents.add_reagent("omnizine", 5) - reagents.add_reagent("vitamin", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/mysterysoup +/obj/item/weapon/reagent_containers/food/snacks/soup/mysterysoup name = "mystery soup" desc = "The mystery is, why aren't you eating it?" icon_state = "mysterysoup" - trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/mysterysoup/New() + list_reagents = list("nutriment" = 6, "tomatojuice" = 2) + var/extra_reagent = null +/obj/item/weapon/reagent_containers/food/snacks/soup/mysterysoup/New() ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - switch(rand(1,10)) - if(1) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("capsaicin", 3) - reagents.add_reagent("tomatojuice", 2) - if(2) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("frostoil", 3) - reagents.add_reagent("tomatojuice", 2) - if(3) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("water", 5) - reagents.add_reagent("omnizine", 5) - if(4) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("water", 10) - if(5) - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("banana", 10) - if(6) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("blood", 10) - if(7) - reagents.add_reagent("slimejelly", 10) - reagents.add_reagent("water", 10) - if(8) - reagents.add_reagent("carbon", 10) - reagents.add_reagent("toxin", 10) - if(9) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("tomatojuice", 10) - if(10) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("oculine", 5) - bitesize = 5 + extra_reagent = pick("capsaicin", "frostoil", "omnizine", "banana", "blood", "slimejelly", "toxin", "banana", "carbon", "oculine") + reagents.add_reagent("[extra_reagent]", 5) -/obj/item/weapon/reagent_containers/food/snacks/wishsoup +/obj/item/weapon/reagent_containers/food/snacks/soup/wishsoup name = "wish soup" desc = "I wish this was soup." icon_state = "wishsoup" - trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/wishsoup/New() +/obj/item/weapon/reagent_containers/food/snacks/soup/wishsoup/New() ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("water", 10) - bitesize = 5 if(prob(25)) desc = "A wish come true!" - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("nutriment", 9) reagents.add_reagent("vitamin", 1) + else + reagents.add_reagent("water", 10) -/obj/item/weapon/reagent_containers/food/snacks/hotchili +/obj/item/weapon/reagent_containers/food/snacks/soup/hotchili name = "hot chili" desc = "A five alarm Texan Chili!" icon_state = "hotchili" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "capsaicin" = 1, "tomatojuice" = 2, "vitamin" = 2) -/obj/item/weapon/reagent_containers/food/snacks/hotchili/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("capsaicin", 1) - reagents.add_reagent("tomatojuice", 2) - reagents.add_reagent("vitamin", 2) - bitesize = 5 - - -/obj/item/weapon/reagent_containers/food/snacks/coldchili +/obj/item/weapon/reagent_containers/food/snacks/soup/coldchili name = "cold chili" desc = "This slush is barely a liquid!" icon_state = "coldchili" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 5, "frostoil" = 1, "tomatojuice" = 2, "vitamin" = 2) -/obj/item/weapon/reagent_containers/food/snacks/coldchili/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("frostoil", 1) - reagents.add_reagent("tomatojuice", 2) - reagents.add_reagent("vitamin", 2) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight +/obj/item/weapon/reagent_containers/food/snacks/soup/monkeysdelight name = "monkey's delight" desc = "A delicious soup with dumplings and hunks of monkey meat simmered to perfection, in a broth that tastes faintly of bananas." icon_state = "monkeysdelight" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 10, "banana" = 5, "blackpepper" = 1, "sodiumchloride" = 1, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight/New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("banana", 5) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("vitamin", 5) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/tomatosoup +/obj/item/weapon/reagent_containers/food/snacks/soup/tomatosoup name = "tomato soup" desc = "Drinking this feels like being a vampire! A tomato vampire..." icon_state = "tomatosoup" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "tomatojuice" = 10, "vitamin" = 3) -/obj/item/weapon/reagent_containers/food/snacks/tomatosoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("tomatojuice", 10) - reagents.add_reagent("vitamin", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/milosoup +/obj/item/weapon/reagent_containers/food/snacks/soup/milosoup name = "milosoup" desc = "The universes best soup! Yum!!!" icon_state = "milosoup" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 3) -/obj/item/weapon/reagent_containers/food/snacks/milosoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - reagents.add_reagent("vitamin", 3) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup +/obj/item/weapon/reagent_containers/food/snacks/soup/mushroomsoup name = "chantrelle soup" desc = "A delicious and hearty mushroom soup." icon_state = "mushroomsoup" - trash = /obj/item/trash/snack_bowl + list_reagents = list("nutriment" = 8, "vitamin" = 5) -/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup/New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 4) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/beetsoup +/obj/item/weapon/reagent_containers/food/snacks/soup/beetsoup name = "beet soup" desc = "Wait, how do you spell it again..?" icon_state = "beetsoup" - trash = /obj/item/trash/snack_bowl - -/obj/item/weapon/reagent_containers/food/snacks/beetsoup/New() + list_reagents = list("nutriment" = 8,"vitamin" = 5) +/obj/item/weapon/reagent_containers/food/snacks/soup/beetsoup/New() ..() - eatverb = pick("slurp","sip","suck","inhale","drink") name = pick("borsch","bortsch","borstch","borsh","borshch","borscht") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 4) - bitesize = 2 diff --git a/code/modules/food&drinks/food/snacks_spaghetti.dm b/code/modules/food&drinks/food/snacks_spaghetti.dm index 0d6224a080c..da698fae091 100644 --- a/code/modules/food&drinks/food/snacks_spaghetti.dm +++ b/code/modules/food&drinks/food/snacks_spaghetti.dm @@ -3,82 +3,47 @@ name = "spaghetti" desc = "Now that's a nic'e pasta!" icon_state = "spaghetti" - -/obj/item/weapon/reagent_containers/food/snacks/spaghetti/New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("vitamin", 1) - bitesize = 1 + list_reagents = list("nutriment" = 1, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti name = "boiled spaghetti" desc = "A plain dish of noodles, this sucks." icon_state = "spaghettiboiled" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("vitamin", 1) - bitesize = 2 + list_reagents = list("nutriment" = 2, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/pastatomato name = "spaghetti" desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" icon_state = "pastatomato" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/pastatomato/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("tomatojuice", 10) - reagents.add_reagent("vitamin", 4) bitesize = 4 + list_reagents = list("nutriment" = 6, "tomatojuice" = 10, "vitamin" = 4) /obj/item/weapon/reagent_containers/food/snacks/copypasta name = "copypasta" desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." icon_state = "copypasta" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/copypasta/New() - ..() - reagents.add_reagent("nutriment", 12) - reagents.add_reagent("tomatojuice", 20) - reagents.add_reagent("vitamin", 8) bitesize = 4 + list_reagents = list("nutriment" = 12, "tomatojuice" = 20, "vitamin" = 8) /obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti name = "spaghetti and meatballs" desc = "Now that's a nic'e meatball!" icon_state = "meatballspaghetti" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 4) - bitesize = 3 + list_reagents = list("nutriment" = 8, "vitamin" = 4) /obj/item/weapon/reagent_containers/food/snacks/spesslaw name = "spesslaw" desc = "A lawyers favourite." icon_state = "spesslaw" - -/obj/item/weapon/reagent_containers/food/snacks/spesslaw/New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("vitamin", 6) - bitesize = 3 + list_reagents = list("nutriment" = 8, "vitamin" = 6) /obj/item/weapon/reagent_containers/food/snacks/eggplantparm name = "eggplant parmigiana" desc = "The only good recipe for eggplant." icon_state = "eggplantparm" trash = /obj/item/trash/plate - -/obj/item/weapon/reagent_containers/food/snacks/eggplantparm/New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("vitamin", 2) - bitesize = 2 + list_reagents = list("nutriment" = 6, "vitamin" = 3) diff --git a/code/modules/food&drinks/food/snacks_vend.dm b/code/modules/food&drinks/food/snacks_vend.dm index 404d9eeae3b..e04cb0d575b 100644 --- a/code/modules/food&drinks/food/snacks_vend.dm +++ b/code/modules/food&drinks/food/snacks_vend.dm @@ -7,79 +7,46 @@ desc = "Nougat love it or hate it." icon_state = "candy" trash = /obj/item/trash/candy - -/obj/item/weapon/reagent_containers/food/snacks/candy/New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("sugar", 3) - bitesize = 2 + list_reagents = list("nutriment" = 1, "sugar" = 3) /obj/item/weapon/reagent_containers/food/snacks/sosjerky name = "\improper Scaredy's Private Reserve Beef Jerky" icon_state = "sosjerky" desc = "Beef jerky made from the finest space cows." trash = /obj/item/trash/sosjerky - -/obj/item/weapon/reagent_containers/food/snacks/sosjerky/New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("sugar", 3) - bitesize = 2 + list_reagents = list("nutriment" = 1, "sugar" = 3) /obj/item/weapon/reagent_containers/food/snacks/chips name = "chips" desc = "Commander Riker's What-The-Crisps" icon_state = "chips" trash = /obj/item/trash/chips - -/obj/item/weapon/reagent_containers/food/snacks/chips/New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("sugar", 3) bitesize = 1 + list_reagents = list("nutriment" = 1, "sugar" = 3) /obj/item/weapon/reagent_containers/food/snacks/no_raisin name = "4no raisins" icon_state = "4no_raisins" desc = "Best raisins in the universe. Not sure why." trash = /obj/item/trash/raisins - -/obj/item/weapon/reagent_containers/food/snacks/no_raisin/New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("sugar", 4) + list_reagents = list("nutriment" = 2, "sugar" = 4) /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie name = "space twinkie" icon_state = "space_twinkie" desc = "Guaranteed to survive longer than you will." - -/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie/New() - ..() - reagents.add_reagent("sugar", 4) - bitesize = 2 + list_reagents = list("sugar" = 4) /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers name = "cheesie honkers" desc = "Bite sized cheesie snacks that will honk all over your mouth." icon_state = "cheesie_honkers" trash = /obj/item/trash/cheesie - -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers/New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("sugar", 3) - bitesize = 2 + list_reagents = list("nutriment" = 1, "sugar" = 3) /obj/item/weapon/reagent_containers/food/snacks/syndicake name = "syndi-cakes" icon_state = "syndi_cakes" desc = "An extremely moist snack cake that tastes just as good after being nuked." trash = /obj/item/trash/syndi_cakes - -/obj/item/weapon/reagent_containers/food/snacks/syndicake/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("doctorsdelight", 5) - bitesize = 3 - + list_reagents = list("nutriment" = 4, "doctorsdelight" = 5) diff --git a/code/modules/food&drinks/kitchen machinery/food_cart.dm b/code/modules/food&drinks/kitchen machinery/food_cart.dm new file mode 100644 index 00000000000..177e9a642ac --- /dev/null +++ b/code/modules/food&drinks/kitchen machinery/food_cart.dm @@ -0,0 +1,152 @@ +#define STORAGE_CAPACITY 30 +#define LIQUID_CAPACIY 200 +#define MIXER_CAPACITY 100 + +/obj/machinery/food_cart + name = "food cart" + desc = "New generation hot dog stand." + icon = 'icons/obj/kitchen.dmi' + icon_state = "foodcart" + density = 1 + anchored = 0 + use_power = 0 + var/food_stored = 0 + var/glasses = 0 + var/portion = 10 + var/selected_drink + var/list/stored_food = list() + flags = OPENCONTAINER | NOREACT + var/obj/item/weapon/reagent_containers/mixer + +/obj/machinery/food_cart/New() + ..() + create_reagents(LIQUID_CAPACIY) + mixer = new /obj/item/weapon/reagent_containers(src, MIXER_CAPACITY) + mixer.name = "Mixer" + +/obj/machinery/food_cart/attack_hand(mob/user as mob) + user.set_machine(src) + interact(user) + +/obj/machinery/food_cart/interact(mob/user as mob) + var/dat + dat += "
    STORED INGREDIENTS AND DRINKS
    " + dat += "Remaining glasses: [glasses]
    " + dat += "Portion: [portion]
    " + for(var/datum/reagent/R in reagents.reagent_list) + dat += "[R.name]: [R.volume] " + dat += "Purge" + if (glasses > 0) + dat += "Pour in a glass" + dat += "Add to the mixer
    " + dat += "

    MIXER CONTENTS
    " + for(var/datum/reagent/R in mixer.reagents.reagent_list) + dat += "[R.name]: [R.volume] " + dat += "Transfer back" + if (glasses > 0) + dat += "Pour in a glass" + dat += "
    " + dat += "

    STORED FOOD
    " + for(var/V in stored_food) + if(stored_food[V] > 0) + dat += "[V]: [stored_food[V]] Dispense
    " + dat += "

    Refresh Close" + + var/datum/browser/popup = new(user, "foodcart","Food Cart", 500, 350, src) + popup.set_content(dat) + popup.open() + +/obj/machinery/food_cart/proc/isFull() + return food_stored >= STORAGE_CAPACITY + +/obj/machinery/food_cart/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(istype(O, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass)) + var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = O + if(!DG.reagents.total_volume) //glass is empty + user.drop_item() + qdel(DG) + glasses++ + user << "The [src] accepts the drinking glass, sterilizing it." + else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) + if(isFull()) + user << "The [src] is at full capacity." + else + var/obj/item/weapon/reagent_containers/food/snacks/S = O + user.drop_item() + S.loc = src + if(stored_food[sanitize(S.name)]) + stored_food[sanitize(S.name)]++ + else + stored_food[sanitize(S.name)] = 1 + else if(istype(O, /obj/item/stack/sheet/glass)) + var/obj/item/stack/sheet/glass/G = O + if(G.get_amount() >= 1) + G.use(1) + glasses += 4 + user << "The [src] accepts a sheet of glass." + else if(istype(O, /obj/item/weapon/storage/bag/tray)) + var/obj/item/weapon/storage/bag/tray/T = O + for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents) + if(isFull()) + user << "The [src] is at full capacity." + break + else + T.remove_from_storage(S, src) + if(stored_food[sanitize(S.name)]) + stored_food[sanitize(S.name)]++ + else + stored_food[sanitize(S.name)] = 1 + else if(O.is_open_container()) + return + else + ..() + updateDialog() + +/obj/machinery/food_cart/Topic(href, href_list) + if(..()) + return + + if(href_list["disposeI"]) + reagents.del_reagent(href_list["disposeI"]) + + if(href_list["dispense"]) + if(stored_food[href_list["dispense"]]-- <= 0) + stored_food[href_list["dispense"]] = 0 + else + for(var/obj/O in contents) + if(sanitize(O.name) == href_list["dispense"]) + O.loc = src.loc + break + + if(href_list["portion"]) + portion = Clamp(input("How much drink do you want to dispense per glass?") as num, 0, 50) + + if(href_list["pour"] || href_list["m_pour"]) + if(glasses-- <= 0) + usr << "There are no glasses left!" + glasses = 0 + else + var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = new(loc) + if(href_list["pour"]) + reagents.trans_id_to(DG, href_list["pour"], portion) + if(href_list["m_pour"]) + mixer.reagents.trans_id_to(DG, href_list["m_pour"], portion) + + if(href_list["mix"]) + if(reagents.trans_id_to(mixer, href_list["mix"], portion) == 0) + usr << "The [mixer] is full!" + + if(href_list["transfer"]) + if(mixer.reagents.trans_id_to(src, href_list["transfer"], portion) == 0) + usr << "The [src] is full!" + + updateDialog() + + if(href_list["close"]) + usr.unset_machine() + usr << browse(null,"window=foodcart") + return + +#undef STORAGE_CAPACITY +#undef LIQUID_CAPACIY +#undef MIXER_CAPACITY \ No newline at end of file diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm index 19f1add42ef..c6229ec5410 100644 --- a/code/modules/food&drinks/kitchen machinery/microwave.dm +++ b/code/modules/food&drinks/kitchen machinery/microwave.dm @@ -267,7 +267,7 @@ return start() if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run - if (!wzhzhzh(10)) + if (!microwave_operate(10)) abort() return stop() @@ -278,17 +278,17 @@ if (!recipe) dirty += 1 if (prob(max(10,dirty*5))) - if (!wzhzhzh(4)) + if (!microwave_operate(4)) abort() return muck_start() - wzhzhzh(4) + microwave_operate(4) muck_finish() cooked = fail() cooked.loc = src.loc return else if (has_extra_item()) - if (!wzhzhzh(4)) + if (!microwave_operate(4)) abort() return broke() @@ -296,7 +296,7 @@ cooked.loc = src.loc return else - if (!wzhzhzh(10)) + if (!microwave_operate(10)) abort() return stop() @@ -305,10 +305,10 @@ return else var/halftime = round(recipe.time/10/2) - if (!wzhzhzh(halftime)) + if (!microwave_operate(halftime)) abort() return - if (!wzhzhzh(halftime)) + if (!microwave_operate(halftime)) abort() cooked = fail() cooked.loc = src.loc @@ -321,7 +321,7 @@ cooked = new cooked.type(loc) return -/obj/machinery/microwave/proc/wzhzhzh(var/seconds as num) +/obj/machinery/microwave/proc/microwave_operate(var/seconds as num) for (var/i=1 to seconds) if (stat & (NOPOWER|BROKEN)) return 0 diff --git a/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm b/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm index 9c5029e56de..1b470763aa0 100644 --- a/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm +++ b/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm @@ -6,7 +6,7 @@ items = list( /obj/item/weapon/reagent_containers/food/snacks/egg ) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal + result = /obj/item/weapon/reagent_containers/food/snacks/donut /datum/recipe/donut/jelly reagents = list("berryjuice" = 5, "flour" = 5) @@ -17,11 +17,11 @@ /datum/recipe/donut/jelly/slime reagents = list("slimejelly" = 5, "flour" = 5) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly + result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly /datum/recipe/donut/jelly/cherry reagents = list("cherryjelly" = 5, "flour" = 5) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly + result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly /datum/recipe/chaosdonut reagents = list("frostoil" = 5, "capsaicin" = 5, "flour" = 5) diff --git a/code/modules/food&drinks/recipes/microwave/recipes_salad.dm b/code/modules/food&drinks/recipes/microwave/recipes_salad.dm index 2ad41f702e8..dbb60ad54bd 100644 --- a/code/modules/food&drinks/recipes/microwave/recipes_salad.dm +++ b/code/modules/food&drinks/recipes/microwave/recipes_salad.dm @@ -7,9 +7,9 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, /obj/item/weapon/reagent_containers/food/snacks/grown/apple, ) - result = /obj/item/weapon/reagent_containers/food/snacks/herbsalad + result = /obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/herbsalad/being_cooked = ..(container) + var/obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad/being_cooked = ..(container) being_cooked.reagents.del_reagent("toxin") return being_cooked @@ -20,7 +20,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, /obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold, ) - result = /obj/item/weapon/reagent_containers/food/snacks/aesirsalad + result = /obj/item/weapon/reagent_containers/food/snacks/salad/aesirsalad /datum/recipe/salad/valid items = list( @@ -30,8 +30,8 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/potato, /obj/item/weapon/reagent_containers/food/snacks/faggot, ) - result = /obj/item/weapon/reagent_containers/food/snacks/validsalad + result = /obj/item/weapon/reagent_containers/food/snacks/salad/validsalad make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked = ..(container) + var/obj/item/weapon/reagent_containers/food/snacks/salad/validsalad/being_cooked = ..(container) being_cooked.reagents.del_reagent("toxin") return being_cooked \ No newline at end of file diff --git a/code/modules/food&drinks/recipes/microwave/recipes_soup.dm b/code/modules/food&drinks/recipes/microwave/recipes_soup.dm index c5b717f3822..d7ce9e26bb9 100644 --- a/code/modules/food&drinks/recipes/microwave/recipes_soup.dm +++ b/code/modules/food&drinks/recipes/microwave/recipes_soup.dm @@ -10,7 +10,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, /obj/item/weapon/reagent_containers/food/snacks/grown/potato, ) - result = /obj/item/weapon/reagent_containers/food/snacks/meatballsoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/meatballsoup /datum/recipe/soup/vegetable reagents = list("water" = 10) @@ -20,7 +20,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, /obj/item/weapon/reagent_containers/food/snacks/grown/potato, ) - result = /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/vegetablesoup /datum/recipe/soup/nettle reagents = list("water" = 10) @@ -29,11 +29,11 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/potato, /obj/item/weapon/reagent_containers/food/snacks/egg, ) - result = /obj/item/weapon/reagent_containers/food/snacks/nettlesoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/nettlesoup /datum/recipe/soup/wish reagents = list("water" = 20) - result= /obj/item/weapon/reagent_containers/food/snacks/wishsoup + result= /obj/item/weapon/reagent_containers/food/snacks/soup/wishsoup /datum/recipe/soup/hotchili items = list( @@ -41,7 +41,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/chili, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, ) - result = /obj/item/weapon/reagent_containers/food/snacks/hotchili + result = /obj/item/weapon/reagent_containers/food/snacks/soup/hotchili /datum/recipe/soup/coldchili items = list( @@ -49,7 +49,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/icepepper, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, ) - result = /obj/item/weapon/reagent_containers/food/snacks/coldchili + result = /obj/item/weapon/reagent_containers/food/snacks/soup/coldchili /datum/recipe/soup/tomato reagents = list("water" = 10) @@ -57,7 +57,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, ) - result = /obj/item/weapon/reagent_containers/food/snacks/tomatosoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/tomatosoup /datum/recipe/soup/milo reagents = list("water" = 10) @@ -67,7 +67,7 @@ /obj/item/weapon/reagent_containers/food/snacks/tofu, /obj/item/weapon/reagent_containers/food/snacks/tofu, ) - result = /obj/item/weapon/reagent_containers/food/snacks/milosoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/milosoup /datum/recipe/soup/blood reagents = list("blood" = 10) @@ -75,13 +75,13 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood, ) - result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/bloodsoup /datum/recipe/soup/slime reagents = list("water" = 10, "slimejelly" = 5) items = list( ) - result = /obj/item/weapon/reagent_containers/food/snacks/slimesoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/slimesoup /datum/recipe/soup/clownstears reagents = list("water" = 10) @@ -89,7 +89,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/banana, /obj/item/weapon/ore/bananium, ) - result = /obj/item/weapon/reagent_containers/food/snacks/clownstears + result = /obj/item/weapon/reagent_containers/food/snacks/soup/clownstears /datum/recipe/soup/mystery reagents = list("water" = 10) @@ -99,14 +99,14 @@ /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, ) - result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/mysterysoup /datum/recipe/soup/mushroom reagents = list("water" = 5, "milk" = 5) items = list( /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle, ) - result = /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/mushroomsoup /datum/recipe/soup/beet reagents = list("water" = 10) @@ -114,7 +114,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet, /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, ) - result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup + result = /obj/item/weapon/reagent_containers/food/snacks/soup/beetsoup /datum/recipe/soup/monkeysdelight reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 5) @@ -122,4 +122,4 @@ /obj/item/weapon/reagent_containers/food/snacks/monkeycube, /obj/item/weapon/reagent_containers/food/snacks/grown/banana, ) - result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight + result = /obj/item/weapon/reagent_containers/food/snacks/soup/monkeysdelight diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 02e1160db2c..ccd46def4df 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -224,7 +224,7 @@ /obj/item/weapon/grown/nettle/death/add_juice() ..() - reagents.add_reagent("pacid", round((potency / 2), 1)) + reagents.add_reagent("facid", round((potency / 2), 1)) force = round((5 + potency / 2.5), 1) /obj/item/weapon/grown/nettle/death/pickup(mob/living/carbon/user as mob) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index b414d2b6c25..200a6349dfa 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -512,9 +512,9 @@ obj/machinery/hydroponics/proc/applyChemicals(var/datum/reagents/S) adjustWeeds(-rand(1,2)) // SERIOUSLY - if(S.has_reagent("pacid", 1)) - adjustHealth(-round(S.get_reagent_amount("pacid") * 2)) - adjustToxic(round(S.get_reagent_amount("pacid") * 3)) + if(S.has_reagent("facid", 1)) + adjustHealth(-round(S.get_reagent_amount("facid") * 2)) + adjustToxic(round(S.get_reagent_amount("facid") * 3)) adjustWeeds(-rand(1,4)) // Plant-B-Gone is just as bad diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 6b5ad2f5da9..b207323395a 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -75,14 +75,14 @@ inserted_id = I interact(user) return + if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) + updateUsrDialog() + return if(panel_open) if(istype(W, /obj/item/weapon/crowbar)) empty_content() default_deconstruction_crowbar(W) return 1 - if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) - updateUsrDialog() - return ..() /obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/weapon/ore/O) @@ -475,8 +475,7 @@ /obj/item/weapon/resonator/proc/CreateResonance(var/target, var/creator) if(cooldown <= 0) playsound(src,'sound/weapons/resonator_fire.ogg',50,1) - var/obj/effect/resonance/R = new /obj/effect/resonance(get_turf(target)) - R.creator = creator + new /obj/effect/resonance(get_turf(target), creator) cooldown = 1 spawn(20) cooldown = 0 @@ -498,16 +497,15 @@ layer = 4.1 mouse_opacity = 0 var/resonance_damage = 20 - var/creator = null -/obj/effect/resonance/New() +/obj/effect/resonance/New(loc, var/creator = null) var/turf/proj_turf = get_turf(src) if(!istype(proj_turf)) return if(istype(proj_turf, /turf/simulated/mineral)) var/turf/simulated/mineral/M = proj_turf playsound(src,'sound/weapons/resonator_blast.ogg',50,1) - M.gets_drilled() + M.gets_drilled(creator) spawn(5) qdel(src) else diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 581ab4f176d..b9f0a945e3c 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -23,12 +23,12 @@ switch(severity) if(3.0) if (prob(75)) - src.gets_drilled() + src.gets_drilled(null, 1) if(2.0) if (prob(90)) - src.gets_drilled() + src.gets_drilled(null, 1) if(1.0) - src.gets_drilled() + src.gets_drilled(null, 1) return /turf/simulated/mineral/New() @@ -208,12 +208,9 @@ if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) && stage == 1) user.visible_message("You use [I] to locate where to cut off the chain reaction and attempt to stop it...") defuse() - if(istype(I, /obj/item/weapon/pickaxe)) - src.activated_ckey = "[user.ckey]" - src.activated_name = "[user.name]" ..() -/turf/simulated/mineral/gibtonite/proc/explosive_reaction() +/turf/simulated/mineral/gibtonite/proc/explosive_reaction(var/mob/user = null, triggered_by_explosion = 0) if(stage == 0) icon_state = "rock_Gibtonite_active" name = "gibtonite deposit" @@ -222,13 +219,26 @@ visible_message("There was gibtonite inside! It's going to explode!") var/turf/bombturf = get_turf(src) var/area/A = get_area(bombturf) - var/log_str = "[src.activated_ckey]? [src.activated_name] has triggered a gibtonite deposit reaction [A.name] (JMP)." - if(z != 5) - message_admins(log_str) - log_game("[src.activated_ckey] ([src.activated_name]) has triggered a gibtonite deposit reaction at [A.name] ([A.x], [A.y], [A.z]).") - countdown() -/turf/simulated/mineral/gibtonite/proc/countdown() + if(user) + activated_ckey = "[user.ckey]" + activated_name = "[user.name]" + var/notify_admins = 0 + if(z != 5) + notify_admins = 1 + if(!triggered_by_explosion) + message_admins("[src.activated_ckey]/([src.activated_name])? has triggered a gibtonite deposit reaction at [A.name] (JMP).") + else + message_admins("An explosion has triggered a gibtonite deposit reaction at [A.name] (JMP).") + + if(!triggered_by_explosion) + log_game("[src.activated_ckey] ([src.activated_name]) has triggered a gibtonite deposit reaction at [A.name] ([A.x], [A.y], [A.z]).") + else + log_game("An explosion has triggered a gibtonite deposit reaction at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") + + countdown(notify_admins) + +/turf/simulated/mineral/gibtonite/proc/countdown(notify_admins = 0) spawn(0) while(stage == 1 && det_time > 0 && mineralAmt >= 1) det_time-- @@ -236,7 +246,7 @@ if(stage == 1 && det_time <= 0 && mineralAmt >= 1) var/turf/bombturf = get_turf(src) mineralAmt = 0 - explosion(bombturf,1,3,5, adminlog = 0) + explosion(bombturf,1,3,5, adminlog = notify_admins) if(stage == 0 || stage == 2) return @@ -249,10 +259,10 @@ det_time = 0 visible_message("The chain reaction was stopped! The gibtonite had [src.det_time] reactions left till the explosion!") -/turf/simulated/mineral/gibtonite/gets_drilled() +/turf/simulated/mineral/gibtonite/gets_drilled(var/mob/user, triggered_by_explosion = 0) if(stage == 0 && mineralAmt >= 1) //Gibtonite deposit is activated playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1) - explosive_reaction() + explosive_reaction(user, triggered_by_explosion) return if(stage == 1 && mineralAmt >= 1) //Gibtonite deposit goes kaboom var/turf/bombturf = get_turf(src) @@ -397,7 +407,7 @@ if(do_after(user,P.digspeed)) user << "You finish cutting into the rock." - gets_drilled() + gets_drilled(user) else return attack_hand(user) return diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index fa1b079478e..f315cf87a18 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -132,7 +132,7 @@ ..() /obj/item/weapon/twohanded/required/gibtonite/ex_act() - GibtoniteReaction(triggered_by_explosive = 1) + GibtoniteReaction(null, 1) /obj/item/weapon/twohanded/required/gibtonite/proc/GibtoniteReaction(mob/user, triggered_by_explosive = 0) if(!primed) @@ -148,12 +148,12 @@ if(triggered_by_explosive) message_admins("An explosion has triggered a [name] to detonate at [A.name] (JMP).") else - message_admins("[key_name(usr)]? has triggered a [name] to detonate at [A.name] (JMP).") + message_admins("[key_name(user)]? has triggered a [name] to detonate at [A.name] (JMP).") if(triggered_by_explosive) log_game("An explosion has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") else user.visible_message("[user] strikes \the [src], causing a chain reaction!") - log_game("[key_name(usr)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") + log_game("[key_name(user)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") spawn(det_time) if(primed) if(quality == 3) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 2e08765961a..6112f31c72d 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -176,3 +176,6 @@ if(do_mob(usr, src, POCKET_STRIP_DELAY * 0.5)) unEquip(r_store) unEquip(l_store) + +/mob/living/carbon/alien/humanoid/reagent_check(var/datum/reagent/R) + return 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 9730be083b9..cf49ce09a88 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -1,5 +1,6 @@ /mob/living/carbon/alien/proc/handle_chemicals_in_body() - if(reagents) reagents.metabolize(src) + if(reagents) + reagents.metabolize(src) if (drowsyness) drowsyness-- diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index b567390103b..ccdc5aa956c 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -47,7 +47,7 @@ return id_name return "Unknown" -//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable +//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when Fluacided or when updating a human's name variable /mob/living/carbon/human/proc/get_face_name(if_no_face="Unknown") if( wear_mask && (wear_mask.flags_inv&HIDEFACE) ) //Wearing a mask which hides our face, use id-name if possible return if_no_face diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 71b54ef8970..aa2ce1fb29b 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -21,8 +21,6 @@ /mob/living/carbon/human/treat_message(message) if(dna) message = dna.species.handle_speech(message,src) - message = dna.mutations_say_mods(message) - if(viruses.len) for(var/datum/disease/pierrot_throat/D in viruses) var/list/temp_message = text2list(message, " ") //List each word in the message @@ -37,7 +35,8 @@ pick_list -= H //Make sure that you dont HONK the same word twice message = list2text(temp_message, " ") message = ..(message) - + if(dna) + message = dna.mutations_say_mods(message) return message /mob/living/carbon/human/GetVoice() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 07e04b8d265..dd64719253f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -74,7 +74,7 @@ Sorry Giacom. Please don't be mad :( //okay, so we didn't switch. but should we push? //not if he's not CANPUSH of course - if(!(M.status_flags & CANPUSH) ) + if(!(M.status_flags & CANPUSH)) return 1 //anti-riot equipment is also anti-push if(M.r_hand && istype(M.r_hand, /obj/item/weapon/shield/riot)) @@ -677,7 +677,7 @@ Sorry Giacom. Please don't be mad :( var/mob/living/carbon/CM = L if(CM.on_fire && CM.canmove) CM.fire_stacks -= 5 - CM.Weaken(3) + CM.Weaken(3,1) CM.spin(32,2) CM.visible_message("[CM] rolls on the floor, trying to put themselves out!", \ "You stop, drop, and roll!") diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 34e829bc9a2..949e1df5b5b 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -167,6 +167,8 @@ pID = 8 if("What") pID = 9 + if("Null") + pID = 10 src.card.setEmotion(pID) if("signaller") diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 21076a6cdad..e69830054bc 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1018,6 +1018,7 @@ modtype = "Synd" faction = list("syndicate") designation = "Syndicate" + req_access = list(access_syndicate) /mob/living/silicon/robot/syndicate/New(loc) ..() diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 6e8e72682ed..5a9961d9ea0 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -90,8 +90,8 @@ modules += new /obj/item/weapon/extinguisher/mini(src) emag = new /obj/item/weapon/reagent_containers/spray(src) - emag.reagents.add_reagent("pacid", 250) - emag.name = "polyacid spray" + emag.reagents.add_reagent("facid", 250) + emag.name = "Fluacid spray" var/obj/item/weapon/reagent_containers/spray/S = emag S.banned_reagents = list() diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index e35eaa148dd..e7023880534 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -11,6 +11,7 @@ response_harm = "hits" speed = 0 meat_type = /obj/item/weapon/reagent_containers/food/snacks/xenomeat + skin_type = /obj/item/stack/sheet/animalhide/xeno meat_amount = 3 maxHealth = 100 health = 100 diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 6bdbc2cc728..e6f77f15489 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -21,6 +21,7 @@ melee_damage_upper = 12 attacktext = "attacks" attack_sound = 'sound/weapons/bite.ogg' + var/Attackemote = "growls at" min_oxy = 0 max_oxy = 0 @@ -38,7 +39,7 @@ /mob/living/simple_animal/hostile/mimic/FindTarget() . = ..() if(.) - emote("me", 1, "growls at [.].") + emote("me", 1, "[Attackemote] [.].") /mob/living/simple_animal/hostile/mimic/Die() ..() @@ -232,3 +233,116 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca return 0 return ..() +// +//animated blasters, wands, etc +// + +/mob/living/simple_animal/hostile/mimic/copy/ranged + name = "animated shooty gun" + desc = "there's something fishy here." + environment_smash = 0 //needed? seems weird for them to do so + ranged = 1 + retreat_distance = 1 //just enough to shoot + minimum_distance = 6 + projectiletype = /obj/item/projectile/magic/ + projectilesound = 'sound/items/bikehorn.ogg' + casingtype = null + Attackemote = "aims menacingly at" + var/obj/item/weapon/gun/TrueGun = null + var/obj/item/weapon/gun/magic/Zapstick = list() + var/obj/item/weapon/gun/projectile/Pewgun = list() + var/obj/item/weapon/gun/energy/Zapgun = list() + +/mob/living/simple_animal/hostile/mimic/copy/ranged/New(loc, var/obj/copy, var/mob/living/creator, var/destroy_original = 0) + ..() + + +/mob/living/simple_animal/hostile/mimic/copy/ranged/CopyObject(var/obj/O, var/mob/living/creator, var/destroy_original = 0) + if(destroy_original || CheckObject(O)) + + O.loc = src + name = O.name + desc = O.desc + icon = O.icon + icon_state = O.icon_state + icon_living = icon_state + + if(istype(O, /obj/item/weapon/gun)) //leaving for sanity i guess + var/obj/item/weapon/gun/G = O + health = 15 * G.w_class + melee_damage_upper = G.force + melee_damage_lower = G.force - max(0, (G.force / 2)) + move_to_delay = 2 * G.w_class + 1 + projectilesound = G.fire_sound + TrueGun = G + + if(istype(G, /obj/item/weapon/gun/magic)) + Zapstick = G + var/obj/item/ammo_casing/magic/Zapshot = new Zapstick.ammo_type //this is done because ammo_type.proj_type can't be directly checked + projectiletype = Zapshot.projectile_type + qdel(Zapshot) //is this needed? i dare not risk piles of nullspace bullets + + if(istype(G, /obj/item/weapon/gun/projectile)) + Pewgun = G + var/obj/item/ammo_box/magazine/Pewmag = new Pewgun.mag_type //same problem, mag_type.ammo_type.proj_type can't be checked directly + var/obj/item/ammo_casing/Pewshot = new Pewmag.ammo_type + projectiletype = Pewshot.projectile_type + casingtype = Pewmag.ammo_type + qdel(Pewshot) + qdel(Pewmag) + + if(istype(G, /obj/item/weapon/gun/energy)) + Zapgun = G + var/selectfiresetting = Zapgun.select + var/obj/item/ammo_casing/energy/Energyammotype = Zapgun.ammo_type[selectfiresetting] + projectiletype = Energyammotype.projectile_type + + maxHealth = health + if(creator) + src.creator = creator + faction += "\ref[creator]" + if(destroy_original) + qdel(O) + return 1 + return + +/mob/living/simple_animal/hostile/mimic/copy/ranged/OpenFire(var/the_target) + if(Zapgun) + if(Zapgun.power_supply) //sanity + var/obj/item/ammo_casing/energy/shot = Zapgun.ammo_type[Zapgun.select] + if(Zapgun.power_supply.charge >= shot.e_cost) //if she can zap + Zapgun.power_supply.use(shot.e_cost) + Zapgun.update_icon() + ..() //zap 'em + if(Zapstick) + if(Zapstick.charges) + Zapstick.charges-- + Zapstick.update_icon() + ..() + if(Pewgun) + if(Pewgun.chambered) + if(Pewgun.chambered.BB) + qdel(Pewgun.chambered.BB) + Pewgun.chambered.BB = null //because qdel takes too long, ensures icon update + Pewgun.chambered.update_icon() + ..() + else + visible_message("The [src] clears a jam!") + Pewgun.chambered.loc = src.loc //rip revolver immersions, blame shotgun snowflake procs + Pewgun.chambered = null + if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) + Pewgun.chambered = Pewgun.magazine.get_round(0) + Pewgun.chambered.loc = Pewgun + Pewgun.update_icon() + else if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) //only true for pumpguns i think + Pewgun.chambered = Pewgun.magazine.get_round(0) + Pewgun.chambered.loc = Pewgun + visible_message("The [src] cocks itself!") + + else //if somehow the mimic has no weapon + src.ranged = 0 //BANZAIIII + src.retreat_distance = 0 + src.minimum_distance = 1 + src.icon_state = TrueGun.icon_state + src.icon_living = TrueGun.icon_state + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index c1eb6157ddb..45dbf172af0 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -20,6 +20,7 @@ var/turns_since_move = 0 var/meat_amount = 0 var/meat_type + var/skin_type var/stop_automated_movement = 0 //Use this to temporarely stop random movement or to if you write special movement code for animals. var/wander = 1 // Does the mob wander around when idle? var/stop_automated_movement_when_pulled = 1 //When set to 1 this stops the animal from moving when someone is pulling it. @@ -219,6 +220,8 @@ if(meat_amount && meat_type) for(var/i = 0; i < meat_amount; i++) new meat_type(src.loc) + if(skin_type) + new skin_type(src.loc) ..() @@ -347,7 +350,7 @@ else user << " [src] is dead, medical items won't bring it back to life." return - if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. + if((meat_type || skin_type) && (stat == DEAD)) //if the animal has a meat, and if it is dead. if(istype(O, /obj/item/weapon/kitchenknife)) harvest() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 9a1f9689eac..6ba873e72e1 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -867,8 +867,8 @@ var/list/slot_equipment_priority = list( \ update_canmove() return -/mob/proc/Weaken(amount) - if(status_flags & CANWEAKEN) +/mob/proc/Weaken(amount, var/ignore_canweaken = 0) + if(status_flags & CANWEAKEN || ignore_canweaken) weakened = max(max(weakened,amount),0) update_canmove() //updates lying, canmove and icons return diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index ae596c35528..84961dff068 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -134,7 +134,7 @@ if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(CARGOTECH) - clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s") + clothes_s = new /icon('icons/mob/uniform.dmi', "cargo_s") clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index db3b9544368..cb7008ca6d9 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -27,10 +27,6 @@ var/rigged = 0 var/spam_flag = 0 - var/const/deffont = "Verdana" - var/const/signfont = "Times New Roman" - var/const/crayonfont = "Comic Sans MS" - /obj/item/weapon/paper/New() ..() @@ -148,8 +144,8 @@ info_links = info var/i = 0 for(i=1,i<=fields,i++) - addtofield(i, "write", 1) - info_links = info_links + "write" + addtofield(i, "write", 1) + info_links = info_links + "write" /obj/item/weapon/paper/proc/clearpaper() @@ -178,7 +174,7 @@ t = replacetext(t, "\[/u\]", "") t = replacetext(t, "\[large\]", "") t = replacetext(t, "\[/large\]", "") - t = replacetext(t, "\[sign\]", "[user.real_name]") + t = replacetext(t, "\[sign\]", "[user.real_name]") t = replacetext(t, "\[field\]", "") if(!iscrayon) @@ -189,7 +185,7 @@ t = replacetext(t, "\[list\]", "
      ") t = replacetext(t, "\[/list\]", "
    ") - t = "[t]" + t = "[t]" else // If it is a crayon, and he still tries to use these, make them empty! t = replacetext(t, "\[*\]", "") t = replacetext(t, "\[hr\]", "") @@ -198,7 +194,7 @@ t = replacetext(t, "\[list\]", "") t = replacetext(t, "\[/list\]", "") - t = "[t]" + t = "[t]" // t = replacetext(t, "#", "") // Junk converted to nothing! @@ -244,6 +240,8 @@ if(href_list["write"]) var/id = href_list["write"] var/t = stripped_multiline_input("Enter what you want to write:", "Write") + if(!t) + return var/obj/item/i = usr.get_active_hand() //Check to see if he still got that darn pen, also check if he's using a crayon or pen. var/iscrayon = 0 if(!istype(i, /obj/item/weapon/pen)) diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index e4e8a72694d..8f9f44e41ff 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -49,7 +49,7 @@ P = new /obj/item/weapon/paper if(SSevent.holiday == "April Fool's Day") if(prob(30)) - P.info = "HONK HONK HONK HONK HONK HONK HONK
    HOOOOOOOOOOOOOOOOOOOOOONK
    APRIL FOOLS
    " + P.info = "HONK HONK HONK HONK HONK HONK HONK
    HOOOOOOOOOOOOOOOOOOOOOONK
    APRIL FOOLS
    " P.rigged = 1 P.updateinfolinks() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index eb63063a421..cbfb5ab441e 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -24,17 +24,15 @@ var/toner = 40 //how much toner is left! woooooo~ var/maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier! var/greytoggle = "Greyscale" - var/mob/living/ass = null + var/mob/living/ass //i can't believe i didn't write a stupid-ass comment about this var when i first coded asscopy. var/busy = 0 /obj/machinery/photocopier/attack_ai(mob/user) return attack_hand(user) - /obj/machinery/photocopier/attack_paw(mob/user) return attack_hand(user) - /obj/machinery/photocopier/attack_hand(mob/user) user.set_machine(src) @@ -72,8 +70,8 @@ else //no toner? shitty copies for you! c.info = "" var/copied = copy.info - copied = replacetext(copied, "" c.name = copy.name @@ -122,7 +120,7 @@ for(var/i = 0, i < copies, i++) var/icon/temp_img if(ishuman(ass) && (ass.get_item_by_slot(slot_w_uniform) || ass.get_item_by_slot(slot_wear_suit))) - usr << "You feel kind of silly copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "their"] clothes on." + usr << "You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "their"] clothes on." //' break else if(toner >= 5 && !busy && check_ass()) //You have to be sitting on the copier and either be a xeno or a human without clothes on. if(isalienadult(ass) || istype(ass,/mob/living/simple_animal/hostile/alien)) //Xenos have their own asses, thanks to Pybro. @@ -231,6 +229,7 @@ updateUsrDialog() else user << "There is already something in [src]." + else if(istype(O, /obj/item/weapon/photo)) if(copier_empty()) user.drop_item() @@ -241,6 +240,7 @@ updateUsrDialog() else user << "There is already something in [src]." + else if(istype(O, /obj/item/device/toner)) if(toner <= 0) user.drop_item() @@ -250,30 +250,29 @@ updateUsrDialog() else user << "This cartridge is not yet ready for replacement! Use up the rest of the toner." + else if(istype(O, /obj/item/weapon/wrench)) + if(isinspace()) + user << "There's nothing to fasten [src] to!" + return playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) - anchored = !anchored - user << "You [anchored ? "wrench" : "unwrench"] [src]." + user << "You start [anchored ? "unwrenching" : "wrenching"] [src]" + if(do_after(user, 20)) + if(gc_destroyed) + return + user << "You [anchored ? "unwrench" : "wrench"] [src]." + anchored = !anchored + else if(istype(O, /obj/item/weapon/grab)) //For ass-copying. var/obj/item/weapon/grab/G = O if(ismob(G.affecting) && G.affecting != ass) - var/mob/GM = G.affecting - visible_message("[usr] drags [GM.name] onto the photocopier!") - GM.loc = get_turf(src) - ass = GM - if(photocopy) - photocopy.loc = src.loc - photocopy = null - else if(copy) - copy.loc = src.loc - copy = null - updateUsrDialog() + MouseDrop_T(G.affecting, user) /obj/machinery/photocopier/ex_act(severity, target) switch(severity) - if(1.0) + if(1) qdel(src) - if(2.0) + if(2) if(prob(50)) qdel(src) else @@ -297,25 +296,35 @@ /obj/machinery/photocopier/MouseDrop_T(mob/target, mob/user) check_ass() //Just to make sure that you can re-drag somebody onto it after they moved off. - if (!istype(target) || target.buckled || get_dist(user, src) > 1 || get_dist(user, target) > 1 || user.stat || istype(user, /mob/living/silicon/ai) || target == ass) + if (!istype(target) || target.anchored || target.buckled || !Adjacent(user) || !Adjacent(target) || !user.canUseTopic(src, 1) || target == ass || copier_blocked()) return src.add_fingerprint(user) - if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) - visible_message("[usr] jumps onto the photocopier!") - else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis) - if(target.anchored) return - if(!ishuman(user) && !ismonkey(user)) return - visible_message("[usr] drags [target.name] onto the photocopier!") - target.loc = get_turf(src) - ass = target - if(photocopy) - photocopy.loc = src.loc - visible_message("[photocopy] is shoved out of the way by [ass]!") - photocopy = null - else if(copy) - copy.loc = src.loc - visible_message("[copy] is shoved out of the way by [ass]!") - copy = null + if(target == user) + visible_message("[user] starts climbing onto the photocopier!") + else + visible_message("[user] starts putting [target] onto the photocopier!") + + if(do_after(user, 20)) + if(!target || target.gc_destroyed || gc_destroyed || !Adjacent(target)) //check if the photocopier/target still exists. + return + + if(target == user) + visible_message("[user] climbs onto the photocopier!") + else + visible_message("[user] puts [target] onto the photocopier!") + + target.loc = get_turf(src) + ass = target + + if(photocopy) + photocopy.loc = src.loc + visible_message("[photocopy] is shoved out of the way by [ass]!") + photocopy = null + + else if(copy) + copy.loc = src.loc + visible_message("[copy] is shoved out of the way by [ass]!") + copy = null updateUsrDialog() /obj/machinery/photocopier/proc/check_ass() //I'm not sure wether I made this proc because it's good form or because of the name. @@ -333,6 +342,18 @@ else return 1 +/obj/machinery/photocopier/proc/copier_blocked() + if(gc_destroyed) + return + if(loc.density) + return 1 + for(var/atom/movable/AM in loc) + if(AM == src) + continue + if(AM.density) + return 1 + return 0 + /obj/machinery/photocopier/proc/copier_empty() if(copy || photocopy || check_ass()) return 0 diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index 92e11f0d24c..0bf2aca5611 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -39,22 +39,22 @@ fire_sound = 'sound/weapons/pulse.ogg' /obj/item/ammo_casing/energy/laser/pulse/carbine - e_cost = 1000 + e_cost = 50 /obj/item/ammo_casing/energy/laser/carbine - e_cost = 1000 + e_cost = 50 /obj/item/ammo_casing/energy/electrode/carbine - e_cost = 1000 + e_cost = 50 /obj/item/ammo_casing/energy/laser/pulse/pistol - e_cost = 2000 + e_cost = 100 /obj/item/ammo_casing/energy/laser/pistol - e_cost = 1000 + e_cost = 50 /obj/item/ammo_casing/energy/electrode/pistol - e_cost = 1000 + e_cost = 50 /obj/item/ammo_casing/energy/laser/bluetag projectile_type = /obj/item/projectile/lasertag/bluetag @@ -152,4 +152,4 @@ /obj/item/ammo_casing/energy/bolt/large projectile_type = /obj/item/projectile/energy/bolt/large - select_name = "heavy bolt" + select_name = "heavy bolt" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 744b3e5e6f5..dc0e90b608e 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -21,6 +21,10 @@ icon_state = "pulse_carbine" item_state = "pulse" ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/carbine, /obj/item/ammo_casing/energy/electrode/carbine, /obj/item/ammo_casing/energy/laser/carbine) + cell_type = "/obj/item/weapon/stock_parts/cell" + +/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin + pin = /obj/item/device/firing_pin/implant/loyalty /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol name = "pulse pistol" @@ -29,6 +33,10 @@ icon_state = "pulse_pistol" item_state = "pulse" ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/pistol, /obj/item/ammo_casing/energy/electrode/pistol, /obj/item/ammo_casing/energy/laser/pistol) + cell_type = "/obj/item/weapon/stock_parts/cell" + +/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin + pin = /obj/item/device/firing_pin/implant/loyalty /obj/item/weapon/gun/energy/pulse_rifle/destroyer name = "pulse destroyer" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 4ea6cbbfe1a..1547e6857ce 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -112,7 +112,7 @@ icon_state = "kineticgun" item_state = "kineticgun" ammo_type = list(/obj/item/ammo_casing/energy/kinetic) - cell_type = "/obj/item/weapon/stock_parts/cell/crap" + cell_type = "/obj/item/weapon/stock_parts/cell/emproof" var/overheat = 0 var/recent_reload = 1 @@ -215,6 +215,7 @@ name = "cyborg lmg" desc = "A machinegun that fires 3d-printed flachettes slowly regenerated using a cyborg's internal power source." icon_state = "l6closed0" + icon = 'icons/obj/guns/projectile.dmi' cell_type = "/obj/item/weapon/stock_parts/cell/secborg" ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet) var/charge_tick = 0 diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index a72317ca466..d758cc24516 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -1,17 +1,20 @@ /obj/item/weapon/gun/projectile/automatic - name = "prototype SMG" - desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors." - icon_state = "saber" - w_class = 3 origin_tech = "combat=4;materials=2" - mag_type = /obj/item/ammo_box/magazine/smgm9mm + w_class = 3 var/alarmed = 0 + var/select = 1 can_suppress = 1 burst_size = 3 fire_delay = 2 - var/select = 1 action_button_name = "Toggle Firemode" +/obj/item/weapon/gun/projectile/automatic/proto + name = "prototype SMG" + desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors." + icon_state = "saber" + mag_type = /obj/item/ammo_box/magazine/smgm9mm + pin = null + /obj/item/weapon/gun/projectile/automatic/update_icon() ..() overlays.Cut() @@ -23,6 +26,9 @@ return /obj/item/weapon/gun/projectile/automatic/attackby(var/obj/item/A as obj, mob/user as mob) + . = ..() + if(.) + return if(istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A if(istype(AM, mag_type)) @@ -234,4 +240,4 @@ fire_sound = 'sound/weapons/Gunshot_smg.ogg' can_suppress = 0 burst_size = 4 - fire_delay = 1 + fire_delay = 1 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index e70257da428..b8b32f5cf16 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -134,7 +134,7 @@ ..() reagents.add_reagent("aluminium", 15) reagents.add_reagent("foaming_agent", 5) - reagents.add_reagent("pacid", 5) + reagents.add_reagent("facid", 5) //This one is for future syringe guns update /obj/item/projectile/bullet/dart/syringe diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index aa4f32157b4..d5af1522516 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -265,7 +265,11 @@ proc/wabbajack(mob/living/M) return else var/obj/O = change - new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer) + if(istype(O, /obj/item/weapon/gun)) + new /mob/living/simple_animal/hostile/mimic/copy/ranged(O.loc, O, firer) + else + new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer) + else if(istype(change, /mob/living/simple_animal/hostile/mimic/copy)) // Change our allegiance! var/mob/living/simple_animal/hostile/mimic/copy/C = change diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 597ca6550ca..05a9ad91036 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -127,7 +127,7 @@ obj/item/projectile/kinetic/New() var/turf/target_turf= get_turf(target) if(istype(target_turf, /turf/simulated/mineral)) var/turf/simulated/mineral/M = target_turf - M.gets_drilled() + M.gets_drilled(firer) new /obj/item/effect/kinetic_blast(target_turf) ..() diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index c1ab1df890d..a5c6f90546e 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -226,19 +226,20 @@ datum/reagents/proc/metabolize(var/mob/M) for(var/A in addiction_list) var/datum/reagent/R = A if(M && R) - if(R.addiction_stage < 0) + if(R.addiction_stage <= 0) R.addiction_stage++ - if(R.addiction_stage >= 0 && R.addiction_stage <= 10) + if(R.addiction_stage > 0 && R.addiction_stage <= 10) R.addiction_act_stage1(M) R.addiction_stage++ - if(R.addiction_stage >= 10 && R.addiction_stage <= 20) + if(R.addiction_stage > 10 && R.addiction_stage <= 20) R.addiction_act_stage2(M) R.addiction_stage++ - if(R.addiction_stage >= 20 && R.addiction_stage <= 30) + if(R.addiction_stage > 20 && R.addiction_stage <= 30) R.addiction_act_stage3(M) R.addiction_stage++ if(R.addiction_stage > 30 && R.addiction_stage <= 40) R.addiction_act_stage4(M) + R.addiction_stage++ if(R.addiction_stage > 40) M << "You feel like you've gotten over your need for [R.name]." addiction_list.Remove(R) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 3533e2f79ef..21bbbefc1be 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -857,7 +857,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime) /obj/item/stack/sheet/mineral/silver = list("silver" = 20), /obj/item/stack/sheet/mineral/gold = list("gold" = 20), /obj/item/weapon/grown/nettle/basic = list("sacid" = 0), - /obj/item/weapon/grown/nettle/death = list("pacid" = 0), + /obj/item/weapon/grown/nettle/death = list("facid" = 0), /obj/item/weapon/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0), //Crayons (for overriding colours) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm index 517707529f1..335c2be3a81 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm @@ -670,10 +670,12 @@ datum/reagent/space_cleaner/reaction_obj(var/obj/O, var/volume) else if(O) O.clean_blood() + O.color = initial(O.color) datum/reagent/space_cleaner/reaction_turf(var/turf/T, var/volume) if(volume >= 1) T.clean_blood() + T.color = initial(T.color) for(var/obj/effect/decal/cleanable/C in T) qdel(C) @@ -687,6 +689,7 @@ datum/reagent/space_cleaner/reaction_turf(var/turf/T, var/volume) datum/reagent/space_cleaner/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) if(iscarbon(M)) var/mob/living/carbon/C = M + C.color = initial(C.color) if(C.r_hand) C.r_hand.clean_blood() if(C.l_hand) @@ -741,7 +744,7 @@ datum/reagent/impedrezene/on_mob_life(var/mob/living/M as mob) datum/reagent/nanites name = "Nanomachines" - id = "nanites" + id = "nanomachines" description = "Microscopic construction robots." color = "#535E66" // rgb: 83, 94, 102 diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index ad850864604..c97db6d16bd 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -635,7 +635,7 @@ datum/chemical_reaction/pestkiller name = "Slime Teleport" id = "m_tele" result = null - required_reagents = list("pacid" = 2, "mutagen" = 2) + required_reagents = list("facid" = 2, "mutagen" = 2) required_catalysts = list("plasma" = 1) result_amount = 1 required_container = /obj/item/slime_core diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index e7aa5927287..4803a311e33 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -8,6 +8,9 @@ var/possible_transfer_amounts = list(5,10,15,25,30) var/volume = 30 var/list/banned_reagents = list() //List of reagent IDs we reject. + var/list/list_reagents = null + var/spawned_disease = null + var/disease_amount = 20 /obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this set name = "Set transfer amount" @@ -19,11 +22,19 @@ if (N) amount_per_transfer_from_this = N -/obj/item/weapon/reagent_containers/New() +/obj/item/weapon/reagent_containers/New(location, vol = 0) ..() if (!possible_transfer_amounts) src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT + if (vol > 0) + volume = vol create_reagents(volume) + if(spawned_disease) + var/datum/disease/F = new spawned_disease(0) + var/list/data = list("viruses"= list(F)) + reagents.add_reagent("blood", disease_amount, data) + if(list_reagents) + reagents.add_reagent_list(list_reagents) /obj/item/weapon/reagent_containers/attack_self(mob/user as mob) return diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm similarity index 78% rename from code/modules/reagents/reagent_containers/glass/bottle.dm rename to code/modules/reagents/reagent_containers/bottle.dm index fa899280db3..b92a7406498 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -1,287 +1,257 @@ - -//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle - -/obj/item/weapon/reagent_containers/glass/bottle - name = "bottle" - desc = "A small bottle." - icon_state = null - item_state = "atoxinbottle" - possible_transfer_amounts = list(5,10,15,25,30) - volume = 30 - var/spawned_reagent = null - var/spawned_amount = 30 - var/spawned_disease = null - -/obj/item/weapon/reagent_containers/glass/bottle/New() - ..() - if(!icon_state) - icon_state = "bottle[rand(1,20)]" - if(spawned_disease) - var/datum/disease/F = new spawned_disease(0) - var/list/data = list("viruses"= list(F)) - reagents.add_reagent("blood", 20, data) - if(spawned_reagent && spawned_amount) - reagents.add_reagent("[spawned_reagent]", spawned_amount) - - -/obj/item/weapon/reagent_containers/glass/bottle/epinephrine - name = "epinephrine bottle" - desc = "A small bottle. Contains epinephrine - used to stabilize patients." - icon_state = "bottle16" - spawned_reagent = "epinephrine" - -/obj/item/weapon/reagent_containers/glass/bottle/toxin - name = "toxin bottle" - desc = "A small bottle of toxins. Do not drink, it is poisonous." - icon_state = "bottle12" - spawned_reagent = "toxin" - -/obj/item/weapon/reagent_containers/glass/bottle/cyanide - name = "cyanide bottle" - desc = "A small bottle of cyanide. Bitter almonds?" - icon_state = "bottle12" - spawned_reagent = "cyanide" - -/obj/item/weapon/reagent_containers/glass/bottle/morphine - name = "sleep-toxin bottle" - desc = "A small bottle of sleep toxins. Just the fumes make you sleepy." - icon_state = "bottle20" - spawned_reagent = "morphine" - -/obj/item/weapon/reagent_containers/glass/bottle/morphine - name = "morphine bottle" - desc = "A small bottle of morphine." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle20" - spawned_reagent = "morphine" - -/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate - name = "Chloral Hydrate Bottle" - desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" - icon_state = "bottle20" - spawned_reagent = "chloralhydrate" - spawned_amount = 15 - -/obj/item/weapon/reagent_containers/glass/bottle/charcoal - name = "antitoxin bottle" - desc = "A small bottle of charcoal." - icon_state = "bottle17" - spawned_reagent = "charcoal" - -/obj/item/weapon/reagent_containers/glass/bottle/mutagen - name = "unstable mutagen bottle" - desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." - icon_state = "bottle20" - spawned_reagent = "mutagen" - -/obj/item/weapon/reagent_containers/glass/bottle/plasma - name = "liquid plasma bottle" - desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood." - icon_state = "bottle8" - spawned_reagent = "plasma" - -/obj/item/weapon/reagent_containers/glass/bottle/synaptizine - name = "synaptizine bottle" - desc = "A small bottle of synaptizine." - icon_state = "bottle20" - spawned_reagent = "synaptizine" - -/obj/item/weapon/reagent_containers/glass/bottle/ammonia - name = "ammonia bottle" - desc = "A small bottle of ammonia." - icon_state = "bottle20" - spawned_reagent = "ammonia" - -/obj/item/weapon/reagent_containers/glass/bottle/diethylamine - name = "diethylamine bottle" - desc = "A small bottle of diethylamine." - icon_state = "bottle17" - spawned_reagent = "diethylamine" - -/obj/item/weapon/reagent_containers/glass/bottle/pacid - name = "Polytrinic Acid Bottle" - desc = "A small bottle. Contains a small amount of Polytrinic Acid" - icon_state = "bottle17" - spawned_reagent = "pacid" - -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine - name = "Adminordrazine Bottle" - desc = "A small bottle. Contains the liquid essence of the gods." - icon = 'icons/obj/drinks.dmi' - icon_state = "holyflask" - spawned_reagent = "adminordrazine" - -/obj/item/weapon/reagent_containers/glass/bottle/capsaicin - name = "Capsaicin Bottle" - desc = "A small bottle. Contains hot sauce." - icon_state = "bottle3" - spawned_reagent = "capsaicin" - -/obj/item/weapon/reagent_containers/glass/bottle/frostoil - name = "Frost Oil Bottle" - desc = "A small bottle. Contains cold sauce." - icon_state = "bottle17" - spawned_reagent = "frostoil" - -/obj/item/weapon/reagent_containers/glass/bottle/flu_virion - name = "Flu virion culture bottle" - desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/flu - -/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion - name = "Epiglottis virion culture bottle" - desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/voice_change - -/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion - name = "Liver enhancement virion culture bottle" - desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/heal - -/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion - name = "Hullucigen virion culture bottle" - desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/hullucigen - -/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat - name = "Pierrot's Throat culture bottle" - desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/pierrot_throat - -/obj/item/weapon/reagent_containers/glass/bottle/cold - name = "Rhinovirus culture bottle" - desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/cold - -/obj/item/weapon/reagent_containers/glass/bottle/retrovirus - name = "Retrovirus culture bottle" - desc = "A small bottle. Contains a retrovirus culture in a synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/dna_retrovirus - -/obj/item/weapon/reagent_containers/glass/bottle/gbs - name = "GBS culture bottle" - desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit - icon_state = "bottle3" - amount_per_transfer_from_this = 5 - spawned_disease = /datum/disease/gbs - -/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs - name = "GBS culture bottle" - desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit - icon_state = "bottle3" - spawned_disease = /datum/disease/fake_gbs - -/obj/item/weapon/reagent_containers/glass/bottle/brainrot - name = "Brainrot culture bottle" - desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/brainrot - -/obj/item/weapon/reagent_containers/glass/bottle/magnitis - name = "Magnitis culture bottle" - desc = "A small bottle. Contains a small dosage of Fukkos Miracos." - icon_state = "bottle3" - spawned_disease = /datum/disease/magnitis - -/obj/item/weapon/reagent_containers/glass/bottle/wizarditis - name = "Wizarditis culture bottle" - desc = "A small bottle. Contains a sample of Rincewindus Vulgaris." - icon_state = "bottle3" - spawned_disease = /datum/disease/wizarditis - -/obj/item/weapon/reagent_containers/glass/bottle/anxiety - name = "Severe Anxiety culture bottle" - desc = "A small bottle. Contains a sample of Lepidopticides." - icon_state = "bottle3" - spawned_disease = /datum/disease/anxiety - -/obj/item/weapon/reagent_containers/glass/bottle/traitor - name = "syndicate bottle" - desc = "A small bottle. Contains a random nasty chemical." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - -/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() - ..() - var/new_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide") - reagents.add_reagent(new_reagent, 50) - -/obj/item/weapon/reagent_containers/glass/bottle/polonium - name = "polonium bottle" - desc = "A small bottle. Contains Polonium." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "polonium" - -/obj/item/weapon/reagent_containers/glass/bottle/venom - name = "venom bottle" - desc = "A small bottle. Contains Venom." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "venom" - -/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2 - name = "neurotoxin bottle" - desc = "A small bottle. Contains Neurotoxin." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "neurotoxin2" - -/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde - name = "formaldehyde bottle" - desc = "A small bottle. Contains Formaldehyde." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "formaldehyde" - -/obj/item/weapon/reagent_containers/glass/bottle/cyanide - name = "cyanide bottle" - desc = "A small bottle. Contains Cyanide." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "cyanide" - -/obj/item/weapon/reagent_containers/glass/bottle/histamine - name = "histamine bottle" - desc = "A small bottle. Contains Histamine." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "histamine" - -/obj/item/weapon/reagent_containers/glass/bottle/beesease - name = "Beesease culture bottle" - desc = "A small bottle. Contains a sample of invasive Apidae." - icon_state = "bottle3" - spawned_disease = /datum/disease/beesease - -/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine - name = "antihistamine bottle" - desc = "A small bottle of diphenhydramine." - icon_state = "bottle20" - spawned_reagent = "diphenhydramine" - -/obj/item/weapon/reagent_containers/glass/bottle/potass_iodide - name = "anti-radiation bottle" - desc = "A small bottle of potassium iodide." - icon_state = "bottle11" - spawned_reagent = "potass_iodide" - -/obj/item/weapon/reagent_containers/glass/bottle/salglu_solution - name = "saline-glucose solution bottle" - desc = "A small bottle of saline-glucose solution." - icon_state = "bottle1" - spawned_reagent = "salglu_solution" - -/obj/item/weapon/reagent_containers/glass/bottle/atropine - name = "atropine bottle" - desc = "A small bottle of atropine." - icon_state = "bottle12" - spawned_reagent = "atropine" - +//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle + +/obj/item/weapon/reagent_containers/glass/bottle + name = "bottle" + desc = "A small bottle." + icon_state = null + item_state = "atoxinbottle" + possible_transfer_amounts = list(5,10,15,25,30) + volume = 30 + +/obj/item/weapon/reagent_containers/glass/bottle/New() + ..() + if(!icon_state) + icon_state = "bottle[rand(1,20)]" + +/obj/item/weapon/reagent_containers/glass/bottle/epinephrine + name = "epinephrine bottle" + desc = "A small bottle. Contains epinephrine - used to stabilize patients." + icon_state = "bottle16" + list_reagents = list("epinephrine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/toxin + name = "toxin bottle" + desc = "A small bottle of toxins. Do not drink, it is poisonous." + icon_state = "bottle12" + list_reagents = list("toxin" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/cyanide + name = "cyanide bottle" + desc = "A small bottle of cyanide. Bitter almonds?" + icon_state = "bottle12" + list_reagents = list("cyanide" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/morphine + name = "morphine bottle" + desc = "A small bottle of morphine." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle20" + list_reagents = list("morphine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate + name = "Chloral Hydrate Bottle" + desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" + icon_state = "bottle20" + list_reagents = list("chloralhydrate" = 15) + +/obj/item/weapon/reagent_containers/glass/bottle/charcoal + name = "antitoxin bottle" + desc = "A small bottle of charcoal." + icon_state = "bottle17" + list_reagents = list("charcoal" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/mutagen + name = "unstable mutagen bottle" + desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." + icon_state = "bottle20" + list_reagents = list("mutagen" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/plasma + name = "liquid plasma bottle" + desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood." + icon_state = "bottle8" + list_reagents = list("plasma" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/synaptizine + name = "synaptizine bottle" + desc = "A small bottle of synaptizine." + icon_state = "bottle20" + list_reagents = list("synaptizine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/ammonia + name = "ammonia bottle" + desc = "A small bottle of ammonia." + icon_state = "bottle20" + list_reagents = list("ammonia" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/diethylamine + name = "diethylamine bottle" + desc = "A small bottle of diethylamine." + icon_state = "bottle17" + list_reagents = list("diethylamine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/facid + name = "Fluorosulfuric Acid Bottle" + desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid" + icon_state = "bottle17" + list_reagents = list("facid" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine + name = "Adminordrazine Bottle" + desc = "A small bottle. Contains the liquid essence of the gods." + icon = 'icons/obj/drinks.dmi' + icon_state = "holyflask" + list_reagents = list("adminordrazine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/capsaicin + name = "Capsaicin Bottle" + desc = "A small bottle. Contains hot sauce." + icon_state = "bottle3" + list_reagents = list("capsaicin" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/frostoil + name = "Frost Oil Bottle" + desc = "A small bottle. Contains cold sauce." + icon_state = "bottle17" + list_reagents = list("frostoil" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/traitor + name = "syndicate bottle" + desc = "A small bottle. Contains a random nasty chemical." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + var/extra_reagent = null + +/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() + ..() + extra_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide") + reagents.add_reagent("[extra_reagent]", 3) + +/obj/item/weapon/reagent_containers/glass/bottle/polonium + name = "polonium bottle" + desc = "A small bottle. Contains Polonium." + icon_state = "bottle16" + list_reagents = list("polonium" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/venom + name = "venom bottle" + desc = "A small bottle. Contains Venom." + icon_state = "bottle16" + list_reagents = list("venom" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2 + name = "neurotoxin bottle" + desc = "A small bottle. Contains Neurotoxin." + icon_state = "bottle16" + list_reagents = list("neurotoxin2" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde + name = "formaldehyde bottle" + desc = "A small bottle. Contains Formaldehyde." + icon_state = "bottle16" + list_reagents = list("formaldehye" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/histamine + name = "histamine bottle" + desc = "A small bottle. Contains Histamine." + icon_state = "bottle16" + list_reagents = list("histamine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine + name = "antihistamine bottle" + desc = "A small bottle of diphenhydramine." + icon_state = "bottle20" + list_reagents = list("diphenhydramine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/potass_iodide + name = "anti-radiation bottle" + desc = "A small bottle of potassium iodide." + icon_state = "bottle11" + list_reagents = list("potass_iodide" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/salglu_solution + name = "saline-glucose solution bottle" + desc = "A small bottle of saline-glucose solution." + icon_state = "bottle1" + list_reagents = list("salglu_solution" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/atropine + name = "atropine bottle" + desc = "A small bottle of atropine." + icon_state = "bottle12" + list_reagents = list("atropine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/flu_virion + name = "Flu virion culture bottle" + desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/flu + +/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion + name = "Epiglottis virion culture bottle" + desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/voice_change + +/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion + name = "Liver enhancement virion culture bottle" + desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/heal + +/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion + name = "Hullucigen virion culture bottle" + desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/hullucigen + +/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat + name = "Pierrot's Throat culture bottle" + desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/pierrot_throat + +/obj/item/weapon/reagent_containers/glass/bottle/cold + name = "Rhinovirus culture bottle" + desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/cold + +/obj/item/weapon/reagent_containers/glass/bottle/retrovirus + name = "Retrovirus culture bottle" + desc = "A small bottle. Contains a retrovirus culture in a synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/dna_retrovirus + +/obj/item/weapon/reagent_containers/glass/bottle/gbs + name = "GBS culture bottle" + desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit + icon_state = "bottle3" + amount_per_transfer_from_this = 5 + spawned_disease = /datum/disease/gbs + +/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs + name = "GBS culture bottle" + desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit + icon_state = "bottle3" + spawned_disease = /datum/disease/fake_gbs + +/obj/item/weapon/reagent_containers/glass/bottle/brainrot + name = "Brainrot culture bottle" + desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/brainrot + +/obj/item/weapon/reagent_containers/glass/bottle/magnitis + name = "Magnitis culture bottle" + desc = "A small bottle. Contains a small dosage of Fukkos Miracos." + icon_state = "bottle3" + spawned_disease = /datum/disease/magnitis + +/obj/item/weapon/reagent_containers/glass/bottle/wizarditis + name = "Wizarditis culture bottle" + desc = "A small bottle. Contains a sample of Rincewindus Vulgaris." + icon_state = "bottle3" + spawned_disease = /datum/disease/wizarditis + +/obj/item/weapon/reagent_containers/glass/bottle/anxiety + name = "Severe Anxiety culture bottle" + desc = "A small bottle. Contains a sample of Lepidopticides." + icon_state = "bottle3" + spawned_disease = /datum/disease/anxiety + +/obj/item/weapon/reagent_containers/glass/bottle/beesease + name = "Beesease culture bottle" + desc = "A small bottle. Contains a sample of invasive Apidae." + icon_state = "bottle3" + spawned_disease = /datum/disease/beesease diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 7c1e1c663b9..43fd8047020 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -1,7 +1,3 @@ - -//////////////////////////////////////////////////////////////////////////////// -/// (Mixing)Glass. -//////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/glass name = "glass" amount_per_transfer_from_this = 10 @@ -102,6 +98,10 @@ m_amt = 0 g_amt = 500 +/obj/item/weapon/reagent_containers/glass/beaker/New() + ..() + update_icon() + /obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change() update_icon() @@ -166,50 +166,29 @@ flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone - New() - ..() - reagents.add_reagent("cryoxadone", 30) - update_icon() + list_reagents = list("cryoxadone" = 30) /obj/item/weapon/reagent_containers/glass/beaker/sulphuric - New() - ..() - reagents.add_reagent("sacid", 50) - update_icon() + list_reagents = list("sacid" = 50) /obj/item/weapon/reagent_containers/glass/beaker/slime - New() - ..() - reagents.add_reagent("slimejelly", 50) - update_icon() + list_reagents = list("slimejelly" = 50) /obj/item/weapon/reagent_containers/glass/beaker/large/styptic name = "styptic reserve tank" - New() - ..() - reagents.add_reagent("styptic_powder", 100) - update_icon() + list_reagents = list("styptic_powder" = 50) /obj/item/weapon/reagent_containers/glass/beaker/large/silver_sulfadiazine name = "silver sulfadiazine reserve tank" - New() - ..() - reagents.add_reagent("silver_sulfadiazine", 100) - update_icon() + list_reagents = list("silver_sulfadiazine" = 50) /obj/item/weapon/reagent_containers/glass/beaker/large/charcoal name = "antitoxin reserve tank" - New() - ..() - reagents.add_reagent("charcoal", 100) - update_icon() + list_reagents = list("charcoal" = 50) /obj/item/weapon/reagent_containers/glass/beaker/large/epinephrine name = "epinephrine reserve tank" - New() - ..() - reagents.add_reagent("epinephrine", 100) - update_icon() + list_reagents = list("epinephrine" = 50) /obj/item/weapon/reagent_containers/glass/bucket name = "bucket" @@ -232,52 +211,3 @@ user.put_in_hands(new /obj/item/weapon/bucket_sensor) user.unEquip(src) qdel(src) - -/* -/obj/item/weapon/reagent_containers/glass/blender_jug - name = "Blender Jug" - desc = "A blender jug, part of a blender." - icon = 'icons/obj/kitchen.dmi' - icon_state = "blender_jug_e" - volume = 100 - -/obj/item/weapon/reagent_containers/glass/blender_jug/on_reagent_change() - switch(src.reagents.total_volume) - if(0) - icon_state = "blender_jug_e" - if(1 to 75) - icon_state = "blender_jug_h" - if(76 to 100) - icon_state = "blender_jug_f" - -/obj/item/weapon/reagent_containers/glass/canister //not used apparantly - desc = "It's a canister. Mainly used for transporting fuel." - name = "canister" - icon = 'icons/obj/tank.dmi' - icon_state = "canister" - item_state = "canister" - m_amt = 300 - g_amt = 0 - w_class = 4.0 - - amount_per_transfer_from_this = 20 - possible_transfer_amounts = list(10,20,30,60) - volume = 120 - -/obj/item/weapon/reagent_containers/glass/dispenser - name = "reagent glass" - desc = "A reagent glass." - icon = 'icons/obj/chemical.dmi' - icon_state = "beaker0" - amount_per_transfer_from_this = 10 - flags = OPENCONTAINER - -/obj/item/weapon/reagent_containers/glass/dispenser/surfactant - name = "reagent glass (surfactant)" - icon_state = "liquid" - - New() - ..() - reagents.add_reagent("fluorosurfactant", 20) - -*/ \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index f53e841df24..6706572d78b 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -1,5 +1,3 @@ -//Hyposprays - /obj/item/weapon/reagent_containers/hypospray name = "hypospray" desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." @@ -40,9 +38,8 @@ add_logs(user, M, "injected", object="[src.name]", addition="([contained])") -/obj/item/weapon/reagent_containers/hypospray/CMO/New() - ..() - reagents.add_reagent("omnizine", 30) +/obj/item/weapon/reagent_containers/hypospray/CMO + list_reagents = list("omnizine" = 30) /obj/item/weapon/reagent_containers/hypospray/combat name = "combat stimulant injector" @@ -51,20 +48,12 @@ icon_state = "combat_hypo" volume = 60 ignore_flags = 1 // So they can heal their comrades. - -/obj/item/weapon/reagent_containers/hypospray/combat/New() - ..() - reagents.add_reagent("epinephrine", 15) - reagents.add_reagent("salglu_solution", 15) + list_reagents = list("epinephrine" = 15, "salglu_solution" = 15) obj/item/weapon/reagent_containers/hypospray/combat/nanites desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing." volume = 100 - -/obj/item/weapon/reagent_containers/hypospray/combat/nanites/New() - ..() - reagents.remove_reagent("synaptizine", 30) - reagents.add_reagent("nanites", 100) + list_reagents = list("nanites" = 80, "synaptizine" = 20) //MediPens @@ -77,16 +66,13 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites volume = 10 ignore_flags = 1 //so you can medipen through hardsuits flags = null - var/starting_reagent = "epinephrine" - var/starting_amount = 10 + list_reagents = list("epinephrine" = 10) /obj/item/weapon/reagent_containers/hypospray/medipen/New() ..() - reagents.add_reagent(starting_reagent, starting_amount) update_icon() return - /obj/item/weapon/reagent_containers/hypospray/medipen/attack(mob/M as mob, mob/user as mob) ..() update_icon() @@ -105,35 +91,19 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites else usr << "It is spent." - /obj/item/weapon/reagent_containers/hypospray/medipen/leporazine //basilisks name = "leporazine medipen" desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction at the cost of some shortness of breath." icon_state = "lepopen" - starting_reagent = "leporazine" - starting_amount = 9 - -/obj/item/weapon/reagent_containers/hypospray/medipen/leporazine/New() - ..() - reagents.add_reagent("lexorin", 1) - update_icon() - return + list_reagents = list("leporazine" = 9, "lexorin" = 1) /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack //goliath kiting name = "ephedrine medipen" desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor at the cost of some shortness of breath." icon_state = "stimpen" - starting_reagent = "ephedrine" - starting_amount = 9 - -/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack/New() - ..() - reagents.add_reagent("lexorin", 1) - update_icon() - return + list_reagents = list("ephedrine" = 9, "lexorin" = 1) /obj/item/weapon/reagent_containers/hypospray/medipen/morphine name = "morphine medipen" desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though." - icon_state = "medipen" - starting_reagent = "morphine" + list_reagents = list("morphine" = 10) diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 6efaa98cad4..e524f00a9b3 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -24,15 +24,9 @@ /obj/item/weapon/reagent_containers/pill/patch/styptic name = "brute patch" desc = "Helps with brute injuries." - -/obj/item/weapon/reagent_containers/pill/patch/styptic/New() - ..() - reagents.add_reagent("styptic_powder", 50) + list_reagents = list("styptic_powder" = 50) /obj/item/weapon/reagent_containers/pill/patch/silver_sulf name = "burn patch" desc = "Helps with burn injuries." - -/obj/item/weapon/reagent_containers/pill/patch/silver_sulf/New() - ..() - reagents.add_reagent("silver_sulfadiazine", 50) \ No newline at end of file + list_reagents = list("silver_sulfadiazine" = 50) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 190eeeabe1c..04131cd4de8 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -1,6 +1,3 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Pills. -//////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/pill name = "pill" desc = "A tablet or capsule." @@ -68,113 +65,68 @@ spawn(5) qdel(src) - -//////////////////////////////////////////////////////////////////////////////// -/// Pills. END -//////////////////////////////////////////////////////////////////////////////// - -//Pills - - /obj/item/weapon/reagent_containers/pill/tox name = "toxins pill" desc = "Highly toxic." icon_state = "pill5" - -/obj/item/weapon/reagent_containers/pill/tox/New() - ..() - reagents.add_reagent("toxin", 50) - + list_reagents = list("toxin" = 50) /obj/item/weapon/reagent_containers/pill/cyanide name = "cyanide pill" desc = "Don't swallow this." icon_state = "pill5" - -/obj/item/weapon/reagent_containers/pill/cyanide/New() - ..() - reagents.add_reagent("cyanide", 50) - + list_reagents = list("cyanide" = 50) /obj/item/weapon/reagent_containers/pill/adminordrazine name = "adminordrazine pill" desc = "It's magic. We don't have to explain it." icon_state = "pill16" - -/obj/item/weapon/reagent_containers/pill/adminordrazine/New() - ..() - reagents.add_reagent("adminordrazine", 50) - + list_reagents = list("adminordrazine" = 50) /obj/item/weapon/reagent_containers/pill/morphine name = "morphine pill" desc = "Commonly used to treat insomnia." icon_state = "pill8" -/obj/item/weapon/reagent_containers/pill/morphine/New() - ..() - reagents.add_reagent("morphine", 30) + list_reagents = list("morphine" = 30) /obj/item/weapon/reagent_containers/pill/stimulant name = "stimulant pill" desc = "Often taken by overworked employees, athletes, and the inebriated. You'll snap to attention immediately!" icon_state = "pill19" - -/obj/item/weapon/reagent_containers/pill/stimulant/New() - ..() - reagents.add_reagent("ephedrine", 10) - reagents.add_reagent("ethylredoxrazine", 10) - reagents.add_reagent("coffee", 30) + list_reagents = list("ephedrine" = 10, "ethylredoxrazine" = 10, "coffee" = 30) /obj/item/weapon/reagent_containers/pill/salbutamol name = "salbutamol pill" desc = "Used to treat oxygen deprivation." icon_state = "pill18" - -/obj/item/weapon/reagent_containers/pill/salbutamol/New() - ..() - reagents.add_reagent("salbutamol", 30) + list_reagents = list("salbutamol" = 30) /obj/item/weapon/reagent_containers/pill/charcoal name = "antitoxin pill" desc = "Neutralizes many common toxins." icon_state = "pill17" - -/obj/item/weapon/reagent_containers/pill/charcoal/New() - ..() - reagents.add_reagent("charcoal", 50) + list_reagents = list("charcoal" = 50) /obj/item/weapon/reagent_containers/pill/epinephrine name = "epinephrine pill" desc = "Used to stabilize patients." icon_state = "pill5" - -/obj/item/weapon/reagent_containers/pill/epinephrine/New() - ..() - reagents.add_reagent("epinephrine", 50) + list_reagents = list("epinephrine" = 50) /obj/item/weapon/reagent_containers/pill/mannitol name = "mannitol pill" desc = "Used to treat brain damage." icon_state = "pill17" - -/obj/item/weapon/reagent_containers/pill/mannitol/New() - ..() - reagents.add_reagent("mannitol", 50) + list_reagents = list("mannitol" = 50) /obj/item/weapon/reagent_containers/pill/mutadone name = "mutadone pill" desc = "Used to treat genetic damage." icon_state = "pill20" - -/obj/item/weapon/reagent_containers/pill/mutadone/New() - ..() - reagents.add_reagent("mutadone", 50) + list_reagents = list("mutadone" = 50) /obj/item/weapon/reagent_containers/pill/salicyclic name = "salicyclic acid pill" desc = "Used to dull pain." icon_state = "pill5" - -/obj/item/weapon/reagent_containers/pill/salicyclic/New() - ..() - reagents.add_reagent("sal_acid", 50) \ No newline at end of file + list_reagents = list("sal_acid" = 50) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 02393741d6a..4d143afb83b 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -15,7 +15,7 @@ amount_per_transfer_from_this = 5 volume = 250 possible_transfer_amounts = null - banned_reagents = list("pacid","sacid") + banned_reagents = list("facid","sacid") /obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob) @@ -52,9 +52,9 @@ if(reagents.has_reagent("sacid")) message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].") log_game("[key_name(user)] fired sulphuric acid from \a [src].") - if(reagents.has_reagent("pacid")) - message_admins("[key_name_admin(user)] fired Polyacid from \a [src].") - log_game("[key_name(user)] fired Polyacid from \a [src].") + if(reagents.has_reagent("facid")) + message_admins("[key_name_admin(user)] fired Fluacid from \a [src].") + log_game("[key_name(user)] fired Fluacid from \a [src].") if(reagents.has_reagent("lube")) message_admins("[key_name_admin(user)] fired Space lube from \a [src].") log_game("[key_name(user)] fired Space lube from \a [src].") @@ -100,11 +100,7 @@ /obj/item/weapon/reagent_containers/spray/cleaner name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" - - -/obj/item/weapon/reagent_containers/spray/cleaner/New() - ..() - reagents.add_reagent("cleaner", 250) + list_reagents = list("cleaner" = 250) //pepperspray /obj/item/weapon/reagent_containers/spray/pepper @@ -116,11 +112,7 @@ volume = 40 spray_maxrange = 4 amount_per_transfer_from_this = 5 - - -/obj/item/weapon/reagent_containers/spray/pepper/New() - ..() - reagents.add_reagent("condensedcapsaicin", 40) + list_reagents = list("condensedcapsaicin" = 40) //water flower /obj/item/weapon/reagent_containers/spray/waterflower @@ -131,10 +123,7 @@ item_state = "sunflower" amount_per_transfer_from_this = 1 volume = 10 - -/obj/item/weapon/reagent_containers/spray/waterflower/New() - ..() - reagents.add_reagent("water", 10) + list_reagents = list("water" = 10) /obj/item/weapon/reagent_containers/spray/waterflower/attack_self(var/mob/user) //Don't allow changing how much the flower sprays return @@ -199,12 +188,7 @@ user << "You adjust the output switch. You'll now use [amount_per_transfer_from_this] units per spray." /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror/New() - ..() - reagents.add_reagent("spore", 150) - reagents.add_reagent("cryptobiolin", 150) - reagents.add_reagent("mutagen", 150) - reagents.add_reagent("chloralhydrate", 150) - + list_reagents = list("spore" = 150, "cryptobiolin" = 150, "mutagen" = 150, "chloralhydrate" = 150) // Plant-B-Gone /obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie @@ -214,8 +198,4 @@ icon_state = "plantbgone" item_state = "plantbgone" volume = 100 - - -/obj/item/weapon/reagent_containers/spray/plantbgone/New() - ..() - reagents.add_reagent("plantbgone", 100) + list_reagents = list("plantbgone" = 100) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 82ef30e7873..7c92956dc4b 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -1,6 +1,3 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Syringes. -//////////////////////////////////////////////////////////////////////////////// #define SYRINGE_DRAW 0 #define SYRINGE_INJECT 1 @@ -18,6 +15,12 @@ g_amt = 20 m_amt = 10 +/obj/item/weapon/reagent_containers/syringe/New() + ..() + if(list_reagents) //syringe starts in inject mode if its already got something inside + mode = SYRINGE_INJECT + update_icon() + /obj/item/weapon/reagent_containers/syringe/on_reagent_change() update_icon() @@ -193,6 +196,32 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) overlays += filling +/obj/item/weapon/reagent_containers/syringe/epinephrine + name = "syringe (epinephrine)" + desc = "Contains epinephrine - used to stabilize patients." + list_reagents = list("epinephrine" = 15) + +/obj/item/weapon/reagent_containers/syringe/charcoal + name = "syringe (charcoal)" + desc = "Contains charcoal." + list_reagents = list("charcoal" = 15) + +/obj/item/weapon/reagent_containers/syringe/antiviral + name = "syringe (spaceacillin)" + desc = "Contains antiviral agents." + list_reagents = list("spaceacillin" = 15) + +/obj/item/weapon/reagent_containers/syringe/stimulants + name = "Stimpack" + desc = "Contains stimulants." + amount_per_transfer_from_this = 50 + volume = 50 + list_reagents = list("stimulants" = 50) + +/obj/item/weapon/reagent_containers/syringe/calomel + name = "syringe (calomel)" + desc = "Contains calomel." + list_reagents = list("calomel" = 15) /obj/item/weapon/reagent_containers/syringe/lethal name = "lethal injection syringe" @@ -200,92 +229,5 @@ amount_per_transfer_from_this = 50 volume = 50 -//////////////////////////////////////////////////////////////////////////////// -/// Syringes. END -//////////////////////////////////////////////////////////////////////////////// - - - -/obj/item/weapon/reagent_containers/syringe/epinephrine - name = "syringe (epinephrine)" - desc = "Contains epinephrine - used to stabilize patients." - New() - ..() - reagents.add_reagent("epinephrine", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/charcoal - name = "syringe (charcoal)" - desc = "Contains charcoal." - New() - ..() - reagents.add_reagent("charcoal", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/antiviral - name = "syringe (spaceacillin)" - desc = "Contains antiviral agents." - New() - ..() - reagents.add_reagent("spaceacillin", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/stimulants - name = "Stimpack" - desc = "Contains stimulants." - amount_per_transfer_from_this = 50 - volume = 50 - New() - ..() - reagents.add_reagent("stimulants", 50) - mode = SYRINGE_INJECT - update_icon() - /obj/item/weapon/reagent_containers/syringe/lethal/choral - New() - ..() - reagents.add_reagent("chloralhydrate", 50) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/calomel - name = "syringe (calomel)" - desc = "Contains calomel." - New() - ..() - reagents.add_reagent("calomel", 15) - mode = SYRINGE_INJECT - update_icon() - -//Robot syringes -//Not special in any way, code wise. They don't have added variables or procs. -/obj/item/weapon/reagent_containers/syringe/robot/charcoal - name = "syringe (charcoal)" - desc = "Contains charcoal." - New() - ..() - reagents.add_reagent("charcoal", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/epinephrine - name = "syringe (epinephrine)" - desc = "Contains epinephrine - used to stabilize patients." - New() - ..() - reagents.add_reagent("epinephrine", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/mixed - name = "syringe (mixed)" - desc = "Contains epinephrine & charcoal solution." - New() - ..() - reagents.add_reagent("epinephrine", 7) - reagents.add_reagent("charcoal", 8) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("chloralhydrate" = 50) diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index 5e6c22a9533..9cfa947a4aa 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -12,17 +12,17 @@ pressure_resistance = 5*ONE_ATMOSPHERE level = 2 var/ptype = 0 - // 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet var/dpdir = 0 // directions as disposalpipe var/base_state = "pipe-s" -/obj/structure/disposalconstruct/New(var/loc, var/pipe_type) +/obj/structure/disposalconstruct/New(var/loc, var/pipe_type, var/direction = 1) ..(loc) if(pipe_type) ptype = pipe_type if(!is_pipe()) // bins/chutes/outlets are dense density = 1 + dir = direction // update iconstate and dpdir due to dir and type /obj/structure/disposalconstruct/proc/update() @@ -31,44 +31,44 @@ var/right = turn(dir, -90) switch(ptype) - if(0) + if(DISP_PIPE_STRAIGHT) base_state = "pipe-s" dpdir = dir | flip - if(1) + if(DISP_PIPE_BENT) base_state = "pipe-c" dpdir = dir | right - if(2) + if(DISP_JUNCTION) base_state = "pipe-j1" dpdir = dir | right | flip - if(3) + if(DISP_JUNCTION_FLIP) base_state = "pipe-j2" dpdir = dir | left | flip - if(4) + if(DISP_YJUNCTION) base_state = "pipe-y" dpdir = dir | left | right - if(5) + if(DISP_END_TRUNK) base_state = "pipe-t" dpdir = dir // disposal bin has only one dir, thus we don't need to care about setting it - if(6) + if(DISP_END_BIN) if(anchored) base_state = "disposal" else base_state = "condisposal" - if(7) + if(DISP_END_OUTLET) base_state = "outlet" dpdir = dir - if(8) + if(DISP_END_CHUTE) base_state = "intake" dpdir = dir - if(9) + if(DISP_SORTJUNCTION) base_state = "pipe-j1s" dpdir = dir | right | flip - if(10) + if(DISP_SORTJUNCTION_FLIP) base_state = "pipe-j2s" dpdir = dir | left | flip @@ -117,33 +117,33 @@ dir = turn(dir, 180) switch(ptype) - if(2) - ptype = 3 - if(3) - ptype = 2 - if(9) - ptype = 10 - if(10) - ptype = 9 + if(DISP_JUNCTION) + ptype = DISP_JUNCTION_FLIP + if(DISP_JUNCTION_FLIP) + ptype = DISP_JUNCTION + if(DISP_SORTJUNCTION) + ptype = DISP_SORTJUNCTION_FLIP + if(DISP_SORTJUNCTION_FLIP) + ptype = DISP_SORTJUNCTION update() // returns the type path of disposalpipe corresponding to this item dtype /obj/structure/disposalconstruct/proc/dpipetype() switch(ptype) - if(0,1) + if(DISP_PIPE_STRAIGHT,DISP_PIPE_BENT) return /obj/structure/disposalpipe/segment - if(2,3,4) + if(DISP_JUNCTION, DISP_JUNCTION_FLIP, DISP_YJUNCTION) return /obj/structure/disposalpipe/junction - if(5) + if(DISP_END_TRUNK) return /obj/structure/disposalpipe/trunk - if(6) + if(DISP_END_BIN) return /obj/machinery/disposal - if(7) + if(DISP_END_OUTLET) return /obj/structure/disposaloutlet - if(8) + if(DISP_END_CHUTE) return /obj/machinery/disposal/deliveryChute - if(9,10) + if(DISP_SORTJUNCTION, DISP_SORTJUNCTION_FLIP) return /obj/structure/disposalpipe/sortjunction return @@ -156,20 +156,20 @@ /obj/structure/disposalconstruct/attackby(var/obj/item/I, var/mob/user) var/nicetype = "pipe" var/ispipe = is_pipe() // Indicates if we should change the level of this pipe - src.add_fingerprint(user) + add_fingerprint(user) switch(ptype) - if(6) + if(DISP_END_BIN) nicetype = "disposal bin" - if(7) + if(DISP_END_OUTLET) nicetype = "disposal outlet" - if(8) + if(DISP_END_CHUTE) nicetype = "delivery chute" - if(9, 10) + if(DISP_SORTJUNCTION, DISP_SORTJUNCTION_FLIP) nicetype = "sorting pipe" else nicetype = "pipe" - var/turf/T = src.loc + var/turf/T = loc if(T.intact) user << "You can only attach the [nicetype] if the floor plating is removed." return @@ -210,62 +210,51 @@ else density = 1 // We don't want disposal bins or outlets to go density 0 user << "You attach the [nicetype] to the underfloor." - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) update() else if(istype(I, /obj/item/weapon/weldingtool)) if(anchored) var/obj/item/weapon/weldingtool/W = I if(W.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1) + playsound(loc, 'sound/items/Welder2.ogg', 100, 1) user << "Welding the [nicetype] in place." if(do_after(user, 20)) - if(!src.loc || !W.isOn()) + if(!loc || !W.isOn()) return user << "The [nicetype] has been welded in place!" update() // TODO: Make this neat - if(ispipe) // Pipe + if(ispipe) var/pipetype = dpipetype() - var/obj/structure/disposalpipe/P = new pipetype(src.loc) - src.transfer_fingerprints_to(P) - P.base_icon_state = base_state - P.dir = dir - P.dpdir = dpdir + var/obj/structure/disposalpipe/P = new pipetype(loc, src) P.updateicon() + transfer_fingerprints_to(P) - //Needs some special treatment ;) - if(ptype==9 || ptype==10) + if(ptype == DISP_SORTJUNCTION || ptype == DISP_SORTJUNCTION_FLIP) var/obj/structure/disposalpipe/sortjunction/SortP = P SortP.updatedir() - else if(ptype==6) // Disposal bin - var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc) - src.transfer_fingerprints_to(P) + else if(ptype == DISP_END_BIN) + var/obj/machinery/disposal/P = new /obj/machinery/disposal(loc,src) P.mode = 0 // start with pump off + transfer_fingerprints_to(P) - else if(ptype==7) // Disposal outlet + else if(ptype == DISP_END_OUTLET) + var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(loc,src) + transfer_fingerprints_to(P) - var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(src.loc) - src.transfer_fingerprints_to(P) - P.dir = dir - var/obj/structure/disposalpipe/trunk/Trunk = CP - Trunk.linked = P + else if(ptype == DISP_END_CHUTE) + var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(loc,src) + transfer_fingerprints_to(P) - else if(ptype==8) // Disposal chute - - var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(src.loc) - src.transfer_fingerprints_to(P) - P.dir = dir - - qdel(src) return else user << "You need to attach it to the plating first!" return /obj/structure/disposalconstruct/proc/is_pipe() - return !(ptype >=6 && ptype <= 8) + return !(ptype >=DISP_END_BIN && ptype <= DISP_END_CHUTE) //helper proc that makes sure you can place the construct (i.e no dense objects stacking) /obj/structure/disposalconstruct/proc/can_place() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index ecc7e0cc484..6338b919ea1 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -25,9 +25,16 @@ var/obj/structure/disposalconstruct/stored // create a new disposal // find the attached trunk (if present) and init gas resvr. -/obj/machinery/disposal/New() +/obj/machinery/disposal/New(loc, var/obj/structure/disposalconstruct/make_from) ..() - stored = new /obj/structure/disposalconstruct(0,6) // 6 = disposal unit + + if(make_from) + dir = make_from.dir + make_from.loc = 0 + stored = make_from + else + stored = new /obj/structure/disposalconstruct(0,DISP_END_BIN,dir) + trunk_check() air_contents = new/datum/gas_mixture() @@ -46,6 +53,8 @@ /obj/machinery/disposal/Destroy() eject() + if(trunk) + trunk.linked = null ..() /obj/machinery/disposal/singularity_pull(S, current_size) @@ -348,8 +357,7 @@ src.updateDialog() if(flush && air_contents.return_pressure() >= SEND_PRESSURE ) // flush can happen even without power - spawn(0) - flush() + flush() if(stat & NOPOWER) // won't charge if no power return @@ -619,27 +627,35 @@ var/obj/structure/disposalconstruct/stored // new pipe, set the icon_state as on map -/obj/structure/disposalpipe/New() +/obj/structure/disposalpipe/New(loc,var/obj/structure/disposalconstruct/make_from) ..() - base_icon_state = icon_state - stored = new /obj/structure/disposalconstruct(src) - switch(base_icon_state) - if("pipe-s") - stored.ptype = 0 - if("pipe-c") - stored.ptype = 1 - if("pipe-j1") - stored.ptype = 2 - if("pipe-j2") - stored.ptype = 3 - if("pipe-y") - stored.ptype = 4 - if("pipe-t") - stored.ptype = 5 - if("pipe-j1s") - stored.ptype = 9 - if("pipe-j2s") - stored.ptype = 10 + + if(make_from && !make_from.gc_destroyed) + base_icon_state = make_from.base_state + dir = make_from.dir + dpdir = make_from.dpdir + make_from.loc = src + stored = make_from + else + base_icon_state = icon_state + stored = new /obj/structure/disposalconstruct(src,direction=dir) + switch(base_icon_state) + if("pipe-s") + stored.ptype = DISP_PIPE_STRAIGHT + if("pipe-c") + stored.ptype = DISP_PIPE_BENT + if("pipe-j1") + stored.ptype = DISP_JUNCTION + if("pipe-j2") + stored.ptype = DISP_JUNCTION_FLIP + if("pipe-y") + stored.ptype = DISP_YJUNCTION + if("pipe-t") + stored.ptype = DISP_END_TRUNK + if("pipe-j1s") + stored.ptype = DISP_SORTJUNCTION + if("pipe-j2s") + stored.ptype = DISP_SORTJUNCTION_FLIP return @@ -728,7 +744,8 @@ if(istype(T, /turf/simulated/floor) && !istype(T, /turf/simulated/floor/plating)) //intact floor, pop the tile var/turf/simulated/floor/myturf = T - new myturf.floor_tile(T) + if(myturf.floor_tile) + new myturf.floor_tile(T) myturf.make_plating() if(direction) // direction is specified @@ -876,7 +893,7 @@ /obj/structure/disposalpipe/segment/New() ..() - if(icon_state == "pipe-s") + if(stored.ptype == DISP_PIPE_STRAIGHT) dpdir = dir | turn(dir, 180) else dpdir = dir | turn(dir, -90) @@ -893,12 +910,13 @@ /obj/structure/disposalpipe/junction/New() ..() - if(icon_state == "pipe-j1") - dpdir = dir | turn(dir, -90) | turn(dir,180) - else if(icon_state == "pipe-j2") - dpdir = dir | turn(dir, 90) | turn(dir,180) - else // pipe-y - dpdir = dir | turn(dir,90) | turn(dir, -90) + switch(stored.ptype) + if(DISP_JUNCTION) + dpdir = dir | turn(dir, -90) | turn(dir,180) + if(DISP_JUNCTION_FLIP) + dpdir = dir | turn(dir, 90) | turn(dir,180) + if(DISP_YJUNCTION) + dpdir = dir | turn(dir,90) | turn(dir, -90) update() return @@ -950,7 +968,7 @@ posdir = dir negdir = turn(posdir, 180) - if(icon_state == "pipe-j1s") + if(stored.ptype == DISP_SORTJUNCTION) sortdir = turn(posdir, -90) else icon_state = "pipe-j2s" @@ -1029,7 +1047,7 @@ /obj/structure/disposalpipe/wrapsortjunction/New() ..() posdir = dir - if(icon_state == "pipe-j1s") + if(stored.ptype == DISP_SORTJUNCTION) sortdir = turn(posdir, -90) negdir = turn(posdir, 180) else @@ -1211,21 +1229,34 @@ anchored = 1 var/active = 0 var/turf/target // this will be where the output objects are 'thrown' to. + var/obj/structure/disposalpipe/trunk/trunk = null // the attached pipe trunk + var/obj/structure/disposalconstruct/stored var/mode = 0 var/start_eject = 0 var/eject_range = 2 -/obj/structure/disposaloutlet/New() +/obj/structure/disposaloutlet/New(loc, var/obj/structure/disposalconstruct/make_from) ..() + if(make_from) + dir = make_from.dir + make_from.loc = src + stored = make_from + else + stored = new (src, DISP_END_OUTLET,dir) + spawn(1) target = get_ranged_target_turf(src, dir, 10) - - var/obj/structure/disposalpipe/trunk/trunk = locate() in src.loc + trunk = locate() in src.loc if(trunk) trunk.linked = src // link the pipe trunk to self +/obj/structure/disposaloutlet/Destroy() + if(trunk) + trunk.linked = null + ..() + // expel the contents of the holder object, then delete it // called when the holder exits the outlet /obj/structure/disposaloutlet/proc/expel(var/obj/structure/disposalholder/H) @@ -1272,11 +1303,11 @@ if(do_after(user,20)) if(!src || !W.isOn()) return user << "You've sliced the floorweld off \the [src]." - var/obj/structure/disposalconstruct/C = new (src.loc, 7) // 7 = outlet - src.transfer_fingerprints_to(C) - C.update() - C.anchored = 1 - C.density = 1 + stored.loc = loc + src.transfer_fingerprints_to(stored) + stored.update() + stored.anchored = 0 + stored.density = 1 qdel(src) return else diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 8e88eb4d0a0..30deb867d78 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -237,14 +237,19 @@ var/start_flush = 0 var/c_mode = 0 -/obj/machinery/disposal/deliveryChute/New() +/obj/machinery/disposal/deliveryChute/New(loc,var/obj/structure/disposalconstruct/make_from) ..() - stored.ptype = 8 // 8 = Delivery chute + stored.ptype = DISP_END_CHUTE spawn(5) trunk = locate() in loc if(trunk) trunk.linked = src // link the pipe trunk to self +/obj/machinery/disposal/deliveryChute/Destroy() + if(trunk) + trunk.linked = null + ..() + /obj/machinery/disposal/deliveryChute/interact() return diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 41c7d2f53ee..50aaac4afb1 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -331,14 +331,14 @@ datum/design/proc/CalcReliability(var/list/temp_techs) ////////////Janitor Designs////////////// ///////////////////////////////////////// -/datum/design/advmop - name = "Advanced Mop" - desc = "An upgraded mop with a large internal capacity for holding water or other cleaning chemicals." - id = "advmop" - req_tech = list("materials" = 4, "engineering" = 3) +/datum/design/buffer + name = "Floor Buffer Upgrade" + desc = "A floor buffer that can be attached to vehicular janicarts." + id = "buffer" + req_tech = list("materials" = 5, "engineering" = 3) build_type = PROTOLATHE - materials = list("$metal" = 2500, "$glass" = 200) - build_path = /obj/item/weapon/mop/advanced + materials = list("$metal" = 3000, "$glass" = 200) + build_path = /obj/item/janiupgrade category = list("Equipement") /datum/design/holosign diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index bee7bdac738..aeac82800b8 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -132,7 +132,7 @@ req_tech = list("combat" = 4, "materials" = 3) build_type = PROTOLATHE materials = list("$metal" = 8000, "$silver" = 2000, "$diamond" = 1000) - build_path = /obj/item/weapon/gun/projectile/automatic + build_path = /obj/item/weapon/gun/projectile/automatic/proto category = list("Weapons") /datum/design/xray diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 9963144a4cf..e8d38856d04 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -6,12 +6,13 @@ #define SCANTYPE_HEAT 4 #define SCANTYPE_COLD 5 #define SCANTYPE_OBLITERATE 6 +#define SCANTYPE_DISCOVER 7 -#define EFFECT_PROB_VERYLOW 10 -#define EFFECT_PROB_LOW 20 -#define EFFECT_PROB_MEDIUM 45 -#define EFFECT_PROB_HIGH 65 -#define EFFECT_PROB_VERYHIGH 85 +#define EFFECT_PROB_VERYLOW 20 +#define EFFECT_PROB_LOW 35 +#define EFFECT_PROB_MEDIUM 50 +#define EFFECT_PROB_HIGH 75 +#define EFFECT_PROB_VERYHIGH 95 #define FAIL 7 /obj/machinery/r_n_d/experimentor @@ -63,7 +64,10 @@ /obj/machinery/r_n_d/experimentor/proc/SetTypeReactions() var/probWeight = 0 for(var/I in typesof(/obj/item)) - item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) + if(istype(I,/obj/item/weapon/relic)) + item_reactions["[I]"] = SCANTYPE_DISCOVER + else + item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) if(ispath(I,/obj/item/weapon/stock_parts) || ispath(I,/obj/item/weapon/grenade/chem_grenade) || ispath(I,/obj/item/weapon/kitchen)) var/obj/item/tempCheck = new I() if(tempCheck.icon_state != null) //check it's an actual usable item, in a hacky way @@ -186,6 +190,8 @@ dat += "
    Burn" dat += "
    Freeze" dat += "
    Destroy
    " + if(istype(loaded_item,/obj/item/weapon/relic)) + dat += "
    Discover
    " dat += "
    Eject" else dat += "Nothing loaded." @@ -215,11 +221,11 @@ if(loaded_item) if(cloneMode && cloneCount > 0) visible_message("A duplicate [loaded_item] pops out!") - new loaded_item(pick(oview(1,src))) + new loaded_item(get_turf(pick(oview(1,src)))) --cloneCount if(cloneCount == 0) cloneMode = FALSE - loaded_item.loc = pick(oview(1,src)) + loaded_item.loc = get_turf(pick(oview(1,src))) if(delete) qdel(loaded_item) loaded_item = null @@ -242,13 +248,6 @@ else counter = 1 -/* -#define EFFECT_PROB_VERYLOW 10 -#define EFFECT_PROB_LOW 20 -#define EFFECT_PROB_MEDIUM 45 -#define EFFECT_PROB_HIGH 65 -#define EFFECT_PROB_VERYHIGH 85 -*/ /obj/machinery/r_n_d/experimentor/proc/experiment(var/exp,var/obj/item/exp_on) recentlyExperimented = 1 icon_state = "h_lathe_wloop" @@ -264,10 +263,10 @@ for(var/mob/living/m in oview(1)) m.apply_damage(15,"brute",pick("head","chest","groin")) ejectItem(TRUE) - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions!.") exp = SCANTYPE_OBLITERATE - else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, throwing the [exp_on]!.") var/mob/living/target = locate(/mob/living) in oview(7,src) if(target) @@ -287,13 +286,13 @@ for(var/mob/living/m in oview(1)) m.apply_effect(25,IRRADIATE) ejectItem(TRUE) - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, spewing toxic waste!.") for(var/turf/T in oview(1)) if(!T.density) if(prob(EFFECT_PROB_VERYHIGH)) new /obj/effect/decal/cleanable/greenglow(T) - else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) var/savedName = "[exp_on]" ejectItem(TRUE) var/newPath = pickWeighted(valid_items) @@ -308,7 +307,7 @@ visible_message("[src] fills it's chamber with gas, [exp_on] included.") if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[exp_on] achieves the perfect mix!") - new /obj/item/stack/sheet/mineral/plasma(pick(oview(1,src))) + new /obj/item/stack/sheet/mineral/plasma(get_turf(pick(oview(1,src)))) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src] destroys [exp_on], leaking dangerous gas!.") var/list/chems = list("carbon","radium","toxin","condensedcapsaicin","mushroomhallucinogen","space_drugs","ethanol","beepskysmash") @@ -321,10 +320,22 @@ smoke.start() R.delete() ejectItem(TRUE) - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) + if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src]'s chemical chamber has sprung a leak!.") + var/list/chems = list("mutationtoxin","amutationtoxin","nanites","xenomicrobes") + var/datum/reagents/R = new/datum/reagents(50) + R.my_atom = src + R.add_reagent(pick(chems), 50) + var/datum/effect/effect/system/chem_smoke_spread/smoke = new + smoke.set_up(R, 1, 0, src, 0, silent = 1) + playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) + smoke.start() + R.delete() + ejectItem(TRUE) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, spewing harmless gas!.") throwSmoke(src.loc) - else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] melts [exp_on], ionizing the air around it!.") empulse(src.loc, 8, 10) ejectItem(TRUE) @@ -332,18 +343,21 @@ if(exp == SCANTYPE_HEAT) visible_message("[src] raises [exp_on]'s temperature.") if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s emergency coolant system gives off a small beep!") - var/obj/item/weapon/reagent_containers/food/drinks/coffee/C = new /obj/item/weapon/reagent_containers/food/drinks/coffee(pick(oview(1,src))) + visible_message("[src]'s emergency coolant system gives off a small beep!") + var/obj/item/weapon/reagent_containers/food/drinks/coffee/C = new /obj/item/weapon/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) var/list/chems = list("plasma","capsaicin","ethanol") C.reagents.remove_any(25) C.reagents.add_reagent(pick(chems),25) C.name = "Cup of Suspicious Liquid" C.desc = "It has a large hazard symbol printed on the side in fading ink." if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) + visible_message("[src] activates it's heat-seeking system!") + new/datum/round_event/meteor_wave() + if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!.") explosion(src.loc, -1, 0, 0, 0, 0, flame_range = 2) ejectItem(TRUE) - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, melting [exp_on] and leaking hot air!.") var/datum/gas_mixture/env = src.loc.return_air() var/transfer_moles = 0.25 * env.total_moles() @@ -356,7 +370,7 @@ env.merge(removed) air_update_turf() ejectItem(TRUE) - else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, activating it's emergency coolant systems!.") throwSmoke(src.loc) for(var/mob/living/m in oview(1)) @@ -367,7 +381,7 @@ visible_message("[src] lowers [exp_on]'s temperature.") if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s emergency coolant system gives off a small ping!") - var/obj/machinery/vending/coffee/C = new /obj/machinery/vending/coffee(pick(oview(1,src))) + var/obj/machinery/vending/coffee/C = new /obj/machinery/vending/coffee(get_turf(pick(oview(1,src)))) var/list/chems = list("uranium","frostoil","hyperzine") C.reagents.remove_any(25) C.reagents.add_reagent(pick(chems),25) @@ -384,7 +398,7 @@ smoke.start() R.delete() ejectItem(TRUE) - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, shattering [exp_on] and leaking cold air!.") var/datum/gas_mixture/env = src.loc.return_air() var/transfer_moles = 0.25 * env.total_moles() @@ -397,7 +411,7 @@ env.merge(removed) air_update_turf() ejectItem(TRUE) - else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) + if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!.") var/datum/effect/effect/system/harmless_smoke_spread/smoke = new smoke.set_up(1,0, src.loc, 0) @@ -408,7 +422,7 @@ visible_message("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!") if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") - new /obj/item/stack/sheet/plasteel(pick(oview(1,src))) + new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) if(linked_console.linked_lathe) linked_console.linked_lathe.m_amount += min((linked_console.linked_lathe.max_material_storage - linked_console.linked_lathe.TotalMaterials()), (exp_on.m_amt)) linked_console.linked_lathe.g_amount += min((linked_console.linked_lathe.max_material_storage - linked_console.linked_lathe.TotalMaterials()), (exp_on.g_amt)) @@ -423,7 +437,7 @@ for(counter = 1, counter < throwAt.len, ++counter) var/cast = throwAt[counter] cast:throw_at(src,10,1) - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) + if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src]'s crusher goes one level too high, crushing right into space-time!.") playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) var/list/oViewStuff = oview(7,src) @@ -442,6 +456,12 @@ var/b = pick("crushes","spins","viscerates","smashes","insults") visible_message("[exp_on] [a], and [b], the experiment was a failiure!") + if(exp == SCANTYPE_DISCOVER) + visible_message("[src] scans the [exp_on], revealing it's true nature!.") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) + var/obj/item/weapon/relic/R = loaded_item + R.reveal() + ejectItem() //Global reactions if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) @@ -535,3 +555,109 @@ #undef EFFECT_PROB_VERYHIGH #undef FAIL + + +//////////////////////////////////SPECIAL ITEMS//////////////////////////////////////// + +/obj/item/weapon/relic + name = "strange object" + desc = "What mysteries could this hold?" + icon = 'icons/obj/assemblies.dmi' + origin_tech = "combat=1;plasmatech=1;powerstorage=1;materials=1" + var/realName = "defined object" + var/revealed = FALSE + var/realProc + var/cooldownMax = 60 + var/cooldown + +/obj/item/weapon/relic/New() + icon_state = pick("shock_kit","armor-igniter-analyzer","infra-igniter0","infra-igniter1","radio-multitool","prox-radio1","radio-radio","timer-multitool0","radio-igniter-tank") + realName = "[pick("broken","twisted","spun","improved","silly","regular","badly made")] [pick("device","object","toy","illegal tech","weapon")]" + + +/obj/item/weapon/relic/proc/reveal() + revealed = TRUE + name = realName + cooldownMax = rand(60,300) + realProc = pick("teleport","explode","rapidDupe","petSpray","flash","clean","corgicannon") + +/obj/item/weapon/relic/attack_self(mob/user as mob) + if(revealed) + if(cooldown) + user << "[src] does not react." + return + else if(src.loc == user) + call(src,realProc)(user) + cooldown = TRUE + spawn(cooldownMax) + cooldown = FALSE + else + user << "You aren't quite sure what to do with this, yet." + +//////////////// RELIC PROCS ///////////////////////////// + +/obj/item/weapon/relic/proc/throwSmoke(var/turf/where) + var/datum/effect/effect/system/harmless_smoke_spread/smoke = new + smoke.set_up(1,0, where, 0) + smoke.start() + +/obj/item/weapon/relic/proc/corgicannon(var/mob/user) + playsound(src.loc, "sparks", rand(25,50), 1) + var/mob/living/simple_animal/corgi/C = new/mob/living/simple_animal/corgi(get_turf(user)) + C.throw_at(pick(oview(10,user)),10,rand(3,8)) + throwSmoke(get_turf(C)) + +/obj/item/weapon/relic/proc/clean(var/mob/user) + playsound(src.loc, "sparks", rand(25,50), 1) + var/obj/item/weapon/grenade/chem_grenade/cleaner/CL = new/obj/item/weapon/grenade/chem_grenade/cleaner(get_turf(user)) + CL.prime() + +/obj/item/weapon/relic/proc/flash(var/mob/user) + playsound(src.loc, "sparks", rand(25,50), 1) + var/obj/item/weapon/grenade/flashbang/CB = new/obj/item/weapon/grenade/flashbang(get_turf(user)) + CB.prime() + +/obj/item/weapon/relic/proc/petSpray(var/mob/user) + visible_message("[src] begans to shake, and in the distance the sound of rampaging animals arises!") + var/animals = rand(1,25) + var/counter + var/list/valid_animals = list(/mob/living/simple_animal/parrot,/mob/living/simple_animal/butterfly,/mob/living/simple_animal/cat,/mob/living/simple_animal/corgi,/mob/living/simple_animal/crab,/mob/living/simple_animal/fox,/mob/living/simple_animal/lizard,/mob/living/simple_animal/mouse,/mob/living/simple_animal/pug,/mob/living/simple_animal/hostile/bear,/mob/living/simple_animal/hostile/poison/bees,/mob/living/simple_animal/hostile/carp) + for(counter = 1; counter < animals; counter++) + var/mobType = pick(valid_animals) + new mobType(get_turf(src)) + +/obj/item/weapon/relic/proc/rapidDupe(var/mob/user) + visible_message("[src] emits a loud pop!") + var/list/dupes = list() + var/counter + var/max = rand(5,45) + for(counter = 1; counter < max; counter++) + var/obj/item/weapon/relic/R = new src.type(get_turf(src)) + R.name = name + R.desc = desc + R.realName = realName + R.realProc = realProc + R.revealed = TRUE + dupes |= R + R.throw_at(pick(oview(7,src)),10,1) + counter = 0 + spawn(rand(10,100)) + for(counter = 1; counter < dupes.len; counter++) + var/obj/item/weapon/relic/R = dupes[counter] + qdel(R) + +/obj/item/weapon/relic/proc/explode(var/mob/user) + visible_message("[src] begins to heat up!") + spawn(rand(35,100)) + if(src.loc == user) + visible_message("The [src]'s top opens, releasing a powerful blast!") + explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2) + +/obj/item/weapon/relic/proc/teleport(var/mob/user) + visible_message("The [src] begins to vibrate!") + spawn(rand(10,30)) + if(src.loc == user) + visible_message("The [src] twists and bends, relocating itself!") + throwSmoke(get_turf(user)) + do_teleport(user, get_turf(user), 8, asoundin = 'sound/effects/phasein.ogg') + throwSmoke(get_turf(user)) \ No newline at end of file diff --git a/config/game_options.txt b/config/game_options.txt index 62bfc11ff59..8280e42debf 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -158,10 +158,16 @@ GATEWAY_DELAY 18000 ### ACCESS ### + +## If the number of players ready at round starts exceeds this threshold, JOBS_HAVE_MINIMAL_ACCESS will automatically be enabled. Otherwise, it will be disabled. +## This is useful for accomodating both low and high population rounds on the same server. +## Comment out or set to 0 to disable this automatic toggle. +MINIMAL_ACCESS_THRESHOLD 20 + ## Comment this out if you wish to use the setup where jobs have more access. ## This is intended for servers with low populations - where there are not enough ## players to fill all roles, so players need to do more than just one job. -## Also for servers where they don't want people to hide in their own departments. +## This option is ignored if MINIMAL_ACCESS_THRESHOLD is used. #JOBS_HAVE_MINIMAL_ACCESS ## Uncomment to give assistants maint access. diff --git a/html/changelog.html b/html/changelog.html index 43d0588467c..db07feeae83 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,40 @@ --> +
    +

    26 January 2015

    +

    Dannno updated:

    +
      +
    • Added fannypacks of multiple colors, 3 of which are accessible from the clothing vendor.
    • +
    • Added dufflebags to multiple lockers throughout the station and to the syndicate shuttle, more storage slots at the cost of move speed.
    • +
    +

    Deantwo updated:

    +
      +
    • Fixed some bugs in PDA's NTRC Chatroom feature.
    • +
    • You can now use PaperBBCode/PenCode when writing news articles on the newscaster.
    • +
    • PDA's Notekeeper now uses PaperBBCode/PenCode rather than HTML.
    • +
    • Scanning paper with your PDA is now more informative.
    • +
    +

    Firecage updated:

    +
      +
    • We, at NanoTrasen, have recently upgraded the Kitchen Spikes to include the skin of both Monkeys and Aliens when you harvest their flesh!
    • +
    • In other news, a station in a nearby Sector has been making monkey and xeno costumes. We are not sure why.
    • +
    • Added the ability to reform mineral floortiles back into sheets/bars
    • +
    +

    Ikarrus updated:

    +
      +
    • Added a new config option MINIMAL_ACCESS_THRESHOLD that can be used to automatically give players more access during low-population rounds. See game_options.txt for more information.
    • +
    +

    Lo6a4evskiy updated:

    +
      +
    • The kitchen now contains a brand new food cart. It can store foods and liquids, mix them into cocktails and dispense where needed. Food delivery has never been easier!
    • +
    +

    fleure updated:

    +
      +
    • Added briefcase filled with cash to uplink.
    • +
    +
    +

    21 January 2015

    Iamgoofball updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index e81e3a38aa1..6e4689f9583 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -2349,3 +2349,31 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. and Unstable Mutagen. - rscadd: Adds 9 new Disabilites and 2 new genetic powers. - rscadd: You can now heat donk pockets once more. Rejoice. +2015-01-26: + Dannno: + - rscadd: Added fannypacks of multiple colors, 3 of which are accessible from the + clothing vendor. + - rscadd: Added dufflebags to multiple lockers throughout the station and to the + syndicate shuttle, more storage slots at the cost of move speed. + Deantwo: + - bugfix: Fixed some bugs in PDA's NTRC Chatroom feature. + - rscadd: You can now use PaperBBCode/PenCode when writing news articles on the + newscaster. + - rscadd: PDA's Notekeeper now uses PaperBBCode/PenCode rather than HTML. + - tweak: Scanning paper with your PDA is now more informative. + Firecage: + - rscadd: We, at NanoTrasen, have recently upgraded the Kitchen Spikes to include + the skin of both Monkeys and Aliens when you harvest their flesh! + - rscadd: In other news, a station in a nearby Sector has been making monkey and + xeno costumes. We are not sure why. + - rscadd: Added the ability to reform mineral floortiles back into sheets/bars + Ikarrus: + - rscadd: Added a new config option MINIMAL_ACCESS_THRESHOLD that can be used to + automatically give players more access during low-population rounds. See game_options.txt + for more information. + Lo6a4evskiy: + - rscadd: The kitchen now contains a brand new food cart. It can store foods and + liquids, mix them into cocktails and dispense where needed. Food delivery has + never been easier! + fleure: + - rscadd: Added briefcase filled with cash to uplink. diff --git a/icons/emoji.dmi b/icons/emoji.dmi index 8da34d9a468..04406998764 100644 Binary files a/icons/emoji.dmi and b/icons/emoji.dmi differ diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index e8d4b61b58b..00aae60bf8d 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index e2e3408c577..be45636ff70 100644 Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ diff --git a/icons/mob/corgi_back.dmi b/icons/mob/corgi_back.dmi index 7ea3cee1a4a..7ed1e9f92d6 100644 Binary files a/icons/mob/corgi_back.dmi and b/icons/mob/corgi_back.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 4474ee9dee8..5db57cf7454 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 3376015c276..73f9cc78c0c 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 7bb7c2e69db..e38ed34c7aa 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index f70ce1eafaf..5e5577fb7dd 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index acb1e00589c..3d80a2669ea 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/aicards.dmi b/icons/obj/aicards.dmi index a28931ed90c..c1068e6fb2a 100644 Binary files a/icons/obj/aicards.dmi and b/icons/obj/aicards.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 1675219fcc3..6fe896b2bb1 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 774e2c7f9c1..c9169705640 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 65a0027ff4d..be66f5eac2a 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index fdc8ccdd1a8..8e5b28e1b1d 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 7cb334987a1..5e15820d45e 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 51b57125584..825dee8bb49 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 7ff300e0c88..143db8d719f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index 1ba74f830a8..e0b13f390a7 100644 Binary files a/icons/obj/vehicles.dmi and b/icons/obj/vehicles.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 5d6065bace7..5885a408c76 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index e1d91f0d173..562ba702797 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -68,10 +68,7 @@ h1.alert, h2.alert {color: #000000;} .interface {color: #330033;} .sans {font-family: "Comic Sans MS", cursive, sans-serif;} -.papyrus {font-family: "Papyrus", cursive, sans-serif;} -.vineta {font-family: "Vineta BT", cursive, sans-serif;} -.jokerman {font-family: "Jokerman", cursive, sans-serif;} -.robot {font-family: "OCR A Extended", cursive, sans-serif;} +.robot {font-family: "Courier New", cursive, sans-serif;} BIG IMG.icon {width: 32px; height: 32px;} diff --git a/tgstation.dme b/tgstation.dme index 1598c65ddee..04feb07a19d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -934,7 +934,6 @@ #include "code\modules\food&drinks\drinks\drinks.dm" #include "code\modules\food&drinks\drinks\drinks\bottle.dm" #include "code\modules\food&drinks\drinks\drinks\drinkingglass.dm" -#include "code\modules\food&drinks\drinks\drinks\bottle\robot.dm" #include "code\modules\food&drinks\food\condiment.dm" #include "code\modules\food&drinks\food\snacks.dm" #include "code\modules\food&drinks\food\snacks_bread.dm" @@ -953,6 +952,7 @@ #include "code\modules\food&drinks\food\snacks_vend.dm" #include "code\modules\food&drinks\food\snacks\food_mixtures.dm" #include "code\modules\food&drinks\food\snacks\meat.dm" +#include "code\modules\food&drinks\kitchen machinery\food_cart.dm" #include "code\modules\food&drinks\kitchen machinery\gibber.dm" #include "code\modules\food&drinks\kitchen machinery\icecream_vat.dm" #include "code\modules\food&drinks\kitchen machinery\juicer.dm" @@ -1300,6 +1300,7 @@ #include "code\modules\reagents\Chemistry-Reagents\Consumable-Reagents\Drink-Reagents\Drinks.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\bottle.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" @@ -1307,7 +1308,6 @@ #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm"