From 1fb88e40e21c0133a2a1388f26f6c9e7421bb202 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 6 Aug 2019 20:54:14 -0400 Subject: [PATCH 01/40] Adds Prototype Hypospray - Can be researched and manufactured by Science - Identical to a mk1 hypospray, except does not instantly inject reagents at friendly intents Not terribly useful right now under the current meta, but probably will be useful down the road if/when syringes become disposable again. --- code/modules/reagents/reagent_containers/hypospray.dm | 9 ++++++++- code/modules/reagents/reagent_containers/hypospray_vr.dm | 5 +++++ code/modules/research/designs_vr.dm | 9 +++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 4b5949595b..6b7910fab3 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -44,7 +44,14 @@ to_chat(user, "You cannot inject a robotic limb.") return - if(!H.stat) + //VOREStation Add Start - Adds Prototype Hypo functionality + if(H != user && prototype) + to_chat(user, "You begin injecting [H] with \the [src].") + to_chat(H, " [user] is trying to inject you with \the [src]!") + if(!do_after(user, 30, H)) + return + //VOREstation Add End + else if(!H.stat && !prototype) //VOREStation Edit if(H != user) if(H.a_intent != I_HELP) to_chat(user, "[H] is resisting your attempt to inject them with \the [src].") diff --git a/code/modules/reagents/reagent_containers/hypospray_vr.dm b/code/modules/reagents/reagent_containers/hypospray_vr.dm index 9f52d9f699..ac99fbeb86 100644 --- a/code/modules/reagents/reagent_containers/hypospray_vr.dm +++ b/code/modules/reagents/reagent_containers/hypospray_vr.dm @@ -22,3 +22,8 @@ ..() for (var/i = 1 to 7) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/miner(src) + +/obj/item/weapon/reagent_containers/hypospray/science + name = "prototype hypospray" + desc = "This reproduction hypospray is nearly a perfect replica of the early model DeForest hyposprays, sharing many of the same features. However, there are additional safety measures installed to prevent unwanted injections." + prototype = 1 diff --git a/code/modules/research/designs_vr.dm b/code/modules/research/designs_vr.dm index 518c77a504..958d359ab1 100644 --- a/code/modules/research/designs_vr.dm +++ b/code/modules/research/designs_vr.dm @@ -117,6 +117,15 @@ build_path = /obj/item/device/nifrepairer sort_string = "HABBE" //Changed String from HABBD to HABBE +/datum/design/item/medical/protohypospray + name = "prototype hypospray" + desc = "This prototype hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." + id = "protohypospray" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 2, TECH_BIO = 4, TECH_ILLEGAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 1500, "silver" = 2000, "gold" = 1500, "uranium" = 1000) + build_path = /obj/item/weapon/reagent_containers/hypospray/science + sort_string = "MBBAH" + // Resleeving Circuitboards /datum/design/circuit/transhuman_clonepod From f699825119aa889f6f2308bb1d449d4e71f084ba Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 6 Aug 2019 20:58:25 -0400 Subject: [PATCH 02/40] Forgot a Var --- code/modules/reagents/reagent_containers/hypospray.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 6b7910fab3..af69556247 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -18,6 +18,7 @@ var/filled = 0 var/list/filled_reagents = list() var/hyposound // What sound do we play on use? + var/prototype = 0 //VOREStation Add - Prototype Hypospray /obj/item/weapon/reagent_containers/hypospray/Initialize() . = ..() From 03976d3dd3f01ee1bdbb3784ed22192fb2f7aacf Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 6 Aug 2019 21:03:35 -0400 Subject: [PATCH 03/40] Moves var --- code/modules/reagents/reagent_containers/hypospray.dm | 1 - code/modules/reagents/reagent_containers/hypospray_vr.dm | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index af69556247..6b7910fab3 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -18,7 +18,6 @@ var/filled = 0 var/list/filled_reagents = list() var/hyposound // What sound do we play on use? - var/prototype = 0 //VOREStation Add - Prototype Hypospray /obj/item/weapon/reagent_containers/hypospray/Initialize() . = ..() diff --git a/code/modules/reagents/reagent_containers/hypospray_vr.dm b/code/modules/reagents/reagent_containers/hypospray_vr.dm index ac99fbeb86..d0777e3216 100644 --- a/code/modules/reagents/reagent_containers/hypospray_vr.dm +++ b/code/modules/reagents/reagent_containers/hypospray_vr.dm @@ -23,6 +23,9 @@ for (var/i = 1 to 7) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/miner(src) +/obj/item/weapon/reagent_containers/hypospray + var/prototype = 0 + /obj/item/weapon/reagent_containers/hypospray/science name = "prototype hypospray" desc = "This reproduction hypospray is nearly a perfect replica of the early model DeForest hyposprays, sharing many of the same features. However, there are additional safety measures installed to prevent unwanted injections." From b5824871ed6e1fea1335c5ab3d093b4ea7db7974 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 6 Aug 2019 21:05:51 -0400 Subject: [PATCH 04/40] Removes unnecessary check --- code/modules/reagents/reagent_containers/hypospray.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 6b7910fab3..253b0b6d80 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -51,7 +51,7 @@ if(!do_after(user, 30, H)) return //VOREstation Add End - else if(!H.stat && !prototype) //VOREStation Edit + else if(!H.stat) if(H != user) if(H.a_intent != I_HELP) to_chat(user, "[H] is resisting your attempt to inject them with \the [src].") From d7406088b52f81fbf72113429fddcc733b65687b Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 6 Aug 2019 21:07:40 -0400 Subject: [PATCH 05/40] Test --- code/modules/reagents/reagent_containers/hypospray.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 253b0b6d80..30b6c759d2 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -51,7 +51,7 @@ if(!do_after(user, 30, H)) return //VOREstation Add End - else if(!H.stat) + if(!H.stat) if(H != user) if(H.a_intent != I_HELP) to_chat(user, "[H] is resisting your attempt to inject them with \the [src].") From 8e321b372522efa5437b8189fa016b0d5a20f132 Mon Sep 17 00:00:00 2001 From: Novacat <35587478+Novacat@users.noreply.github.com> Date: Tue, 6 Aug 2019 22:10:50 -0400 Subject: [PATCH 06/40] Update hypospray.dm --- code/modules/reagents/reagent_containers/hypospray.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 30b6c759d2..6b7910fab3 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -51,7 +51,7 @@ if(!do_after(user, 30, H)) return //VOREstation Add End - if(!H.stat) + else if(!H.stat && !prototype) //VOREStation Edit if(H != user) if(H.a_intent != I_HELP) to_chat(user, "[H] is resisting your attempt to inject them with \the [src].") From 0afd758767893abc46a2454d84c80cac22fa080a Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 10 Aug 2019 04:01:51 -0400 Subject: [PATCH 07/40] Adds pilot qualification pin to loadout Currently only allows job roles with pilot access to take it. --- .../preference_setup/loadout/loadout_accessories_vr.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm index 0f186f5dfc..42f3ceaeec 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm @@ -79,6 +79,12 @@ description = "A shiny steel chain with a vague metallic object dangling off it." path = /obj/item/clothing/accessory/tronket +/datum/gear/accessory/pilotpin + display_name = "pilot qualification pin" + description = "An iron pin denoting the qualification to fly SCG spacecraft." + path = /obj/item/clothing/accessory/solgov/specialty/pilot + allowed_roles = list("Pathfinder", "Pilot", "Field Medic") + /datum/gear/accessory/flops display_name = "drop straps" description = "Wearing suspenders over shoulders? That's been so out for centuries and you know better." From 1cd0ee6daf21c24fcdb51d323b18c21b59326e87 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 10 Aug 2019 04:06:08 -0400 Subject: [PATCH 08/40] Purges bad indentation --- .../loadout/loadout_accessories_vr.dm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm index 42f3ceaeec..0302abe106 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm @@ -75,20 +75,20 @@ description = "A small necklace device that will notify an offsite cloning facility should you expire after activating it." /datum/gear/accessory/tronket - display_name = "metal necklace" - description = "A shiny steel chain with a vague metallic object dangling off it." - path = /obj/item/clothing/accessory/tronket + display_name = "metal necklace" + description = "A shiny steel chain with a vague metallic object dangling off it." + path = /obj/item/clothing/accessory/tronket /datum/gear/accessory/pilotpin - display_name = "pilot qualification pin" - description = "An iron pin denoting the qualification to fly SCG spacecraft." - path = /obj/item/clothing/accessory/solgov/specialty/pilot + display_name = "pilot qualification pin" + description = "An iron pin denoting the qualification to fly SCG spacecraft." + path = /obj/item/clothing/accessory/solgov/specialty/pilot allowed_roles = list("Pathfinder", "Pilot", "Field Medic") /datum/gear/accessory/flops - display_name = "drop straps" - description = "Wearing suspenders over shoulders? That's been so out for centuries and you know better." - path = /obj/item/clothing/accessory/flops + display_name = "drop straps" + description = "Wearing suspenders over shoulders? That's been so out for centuries and you know better." + path = /obj/item/clothing/accessory/flops /datum/gear/accessory/flops/New() ..() From 0a2e8057357ca2d84e63c6ea31814bed4014d2c0 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Sun, 11 Aug 2019 01:37:36 +1200 Subject: [PATCH 09/40] Adds spawn character as mob verb --- code/modules/admin/admin_verbs.dm | 1 + code/modules/admin/verbs/randomverbs.dm | 82 +++++++++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 4bad67b370..9f2aadb974 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -148,6 +148,7 @@ var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_plant, /datum/admins/proc/spawn_atom, //allows us to spawn instances, /client/proc/respawn_character, + /client/proc/spawn_character_mob, /client/proc/virus2_editor, /client/proc/spawn_chemdisp_cartridge, /client/proc/map_template_load, diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 3475e60314..d68139f055 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -513,6 +513,88 @@ Traitors and the like can also be revived with the previous role mostly intact. return new_character +/client/proc/spawn_character_mob() + set category = "Special Verbs" + set name = "Spawn Character As Mob" + set desc = "Spawn a specified ckey as a chosen mob." + if(!holder) + src << "Only administrators may use this command." + return + + var/client/picked_client = input(src, "Who are we spawning as a mob?", "Client", "Cancel") as null|anything in GLOB.clients + if(!picked_client) + return + var/list/types = typesof(/mob/living) + var/mob_type = input(src, "Mob path to spawn as?", "Mob") as text + if(!mob_type) + return + var/list/matches = new() + for(var/path in types) + if(findtext("[path]", mob_type)) + matches += path + if(matches.len==0) + return + var/mob/living/chosen + if(matches.len==1) + chosen = matches[1] + else + chosen = input("Select a mob type", "Select Mob", matches[1]) as null|anything in matches + if(!chosen) + return + src << "[chosen]" + + src << "YEET 1" + + var/char_name = alert(src, "Spawn mob with their character name?", "Mob name", "Yes", "No", "Cancel") + var/name = 0 + src << "YEET 2" + if(char_name == "Cancel") + return + if(char_name == "Yes") + name = 1 + var/vorgans = alert(src, "Spawn mob with their character's vore organs and prefs?", "Vore organs", "Yes", "No", "Cancel") + var/organs + if(vorgans == "Cancel") + return + if(vorgans == "Yes") + organs = 1 + if(vorgans == "No") + organs = 0 + + src << "YEET 3" + + var/spawnloc + if(!src.mob) + src << "Can't spawn them in unless you're in a valid spawn location!" + return + spawnloc = get_turf(src.mob) + + var/mob/living/new_mob = new chosen(spawnloc) + src << "[new_mob]" + + if(!new_mob) + src << "Spawning failed, try again or bully coders" + return + new_mob.ai_holder_type = /datum/ai_holder/simple_mob/inert //Dont want the mob AI to activate if the client dc's or anything + + if(name) + new_mob.real_name = picked_client.prefs.real_name + new_mob.name = picked_client.prefs.real_name + + + new_mob.key = picked_client.key //Finally put them in the mob + if(organs) + new_mob.copy_from_prefs_vr() + + log_admin("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].") + message_admins("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].", 1) + + new_mob << "You've been spawned as a mob! Have fun." + + return new_mob + + + /client/proc/cmd_admin_add_freeform_ai_law() set category = "Fun" set name = "Add Custom AI law" From da7949b4b608caccd982651d8b62e47e0f8f8bbd Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Sun, 11 Aug 2019 01:38:57 +1200 Subject: [PATCH 10/40] I should probably remove those debug messages --- code/modules/admin/verbs/randomverbs.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d68139f055..937b45d18b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -541,13 +541,9 @@ Traitors and the like can also be revived with the previous role mostly intact. chosen = input("Select a mob type", "Select Mob", matches[1]) as null|anything in matches if(!chosen) return - src << "[chosen]" - - src << "YEET 1" var/char_name = alert(src, "Spawn mob with their character name?", "Mob name", "Yes", "No", "Cancel") var/name = 0 - src << "YEET 2" if(char_name == "Cancel") return if(char_name == "Yes") @@ -561,8 +557,6 @@ Traitors and the like can also be revived with the previous role mostly intact. if(vorgans == "No") organs = 0 - src << "YEET 3" - var/spawnloc if(!src.mob) src << "Can't spawn them in unless you're in a valid spawn location!" @@ -570,7 +564,6 @@ Traitors and the like can also be revived with the previous role mostly intact. spawnloc = get_turf(src.mob) var/mob/living/new_mob = new chosen(spawnloc) - src << "[new_mob]" if(!new_mob) src << "Spawning failed, try again or bully coders" From 1035c6e8dd0d3f60a66973c7f15a4eb6fb1fa074 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Sun, 11 Aug 2019 01:45:39 +1200 Subject: [PATCH 11/40] ew empty lines --- code/modules/admin/verbs/randomverbs.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 937b45d18b..09d41d74a3 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -586,8 +586,6 @@ Traitors and the like can also be revived with the previous role mostly intact. return new_mob - - /client/proc/cmd_admin_add_freeform_ai_law() set category = "Fun" set name = "Add Custom AI law" From 67885bca422417026a23c5ce654da611d8a1b649 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Sun, 11 Aug 2019 02:03:32 +1200 Subject: [PATCH 12/40] Oh wait that's important --- code/modules/admin/verbs/randomverbs.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 09d41d74a3..9ad1a44d9f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -584,6 +584,8 @@ Traitors and the like can also be revived with the previous role mostly intact. new_mob << "You've been spawned as a mob! Have fun." + feedback_add_details("admin_verb","SCAM") //heh + return new_mob /client/proc/cmd_admin_add_freeform_ai_law() From 419db94458bf1bc3efc2afba17187705af8c0f93 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Sun, 11 Aug 2019 17:22:20 +1200 Subject: [PATCH 13/40] Adds requested changes yeet --- code/modules/admin/admin_verbs.dm | 2 +- code/modules/admin/verbs/randomverbs.dm | 75 ---------------------- code/modules/admin/verbs/randomverbs_vr.dm | 74 +++++++++++++++++++++ vorestation.dme | 1 + 4 files changed, 76 insertions(+), 76 deletions(-) create mode 100644 code/modules/admin/verbs/randomverbs_vr.dm diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 9f2aadb974..67cc4d496c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -148,7 +148,7 @@ var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_plant, /datum/admins/proc/spawn_atom, //allows us to spawn instances, /client/proc/respawn_character, - /client/proc/spawn_character_mob, + /client/proc/spawn_character_mob, //VOREStation Add, /client/proc/virus2_editor, /client/proc/spawn_chemdisp_cartridge, /client/proc/map_template_load, diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 9ad1a44d9f..3475e60314 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -513,81 +513,6 @@ Traitors and the like can also be revived with the previous role mostly intact. return new_character -/client/proc/spawn_character_mob() - set category = "Special Verbs" - set name = "Spawn Character As Mob" - set desc = "Spawn a specified ckey as a chosen mob." - if(!holder) - src << "Only administrators may use this command." - return - - var/client/picked_client = input(src, "Who are we spawning as a mob?", "Client", "Cancel") as null|anything in GLOB.clients - if(!picked_client) - return - var/list/types = typesof(/mob/living) - var/mob_type = input(src, "Mob path to spawn as?", "Mob") as text - if(!mob_type) - return - var/list/matches = new() - for(var/path in types) - if(findtext("[path]", mob_type)) - matches += path - if(matches.len==0) - return - var/mob/living/chosen - if(matches.len==1) - chosen = matches[1] - else - chosen = input("Select a mob type", "Select Mob", matches[1]) as null|anything in matches - if(!chosen) - return - - var/char_name = alert(src, "Spawn mob with their character name?", "Mob name", "Yes", "No", "Cancel") - var/name = 0 - if(char_name == "Cancel") - return - if(char_name == "Yes") - name = 1 - var/vorgans = alert(src, "Spawn mob with their character's vore organs and prefs?", "Vore organs", "Yes", "No", "Cancel") - var/organs - if(vorgans == "Cancel") - return - if(vorgans == "Yes") - organs = 1 - if(vorgans == "No") - organs = 0 - - var/spawnloc - if(!src.mob) - src << "Can't spawn them in unless you're in a valid spawn location!" - return - spawnloc = get_turf(src.mob) - - var/mob/living/new_mob = new chosen(spawnloc) - - if(!new_mob) - src << "Spawning failed, try again or bully coders" - return - new_mob.ai_holder_type = /datum/ai_holder/simple_mob/inert //Dont want the mob AI to activate if the client dc's or anything - - if(name) - new_mob.real_name = picked_client.prefs.real_name - new_mob.name = picked_client.prefs.real_name - - - new_mob.key = picked_client.key //Finally put them in the mob - if(organs) - new_mob.copy_from_prefs_vr() - - log_admin("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].") - message_admins("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].", 1) - - new_mob << "You've been spawned as a mob! Have fun." - - feedback_add_details("admin_verb","SCAM") //heh - - return new_mob - /client/proc/cmd_admin_add_freeform_ai_law() set category = "Fun" set name = "Add Custom AI law" diff --git a/code/modules/admin/verbs/randomverbs_vr.dm b/code/modules/admin/verbs/randomverbs_vr.dm new file mode 100644 index 0000000000..9fee7c58d0 --- /dev/null +++ b/code/modules/admin/verbs/randomverbs_vr.dm @@ -0,0 +1,74 @@ +/client/proc/spawn_character_mob() + set category = "Special Verbs" + set name = "Spawn Character As Mob" + set desc = "Spawn a specified ckey as a chosen mob." + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + + var/client/picked_client = input(src, "Who are we spawning as a mob?", "Client", "Cancel") as null|anything in GLOB.clients + if(!picked_client) + return + var/list/types = typesof(/mob/living) + var/mob_type = input(src, "Mob path to spawn as?", "Mob") as text + if(!mob_type) + return + var/list/matches = new() + for(var/path in types) + if(findtext("[path]", mob_type)) + matches += path + if(matches.len==0) + return + var/mob/living/chosen + if(matches.len==1) + chosen = matches[1] + else + chosen = input("Select a mob type", "Select Mob", matches[1]) as null|anything in matches + if(!chosen) + return + + var/char_name = alert(src, "Spawn mob with their character name?", "Mob name", "Yes", "No", "Cancel") + var/name = 0 + if(char_name == "Cancel") + return + if(char_name == "Yes") + name = 1 + var/vorgans = alert(src, "Spawn mob with their character's vore organs and prefs?", "Vore organs", "Yes", "No", "Cancel") + var/organs + if(vorgans == "Cancel") + return + if(vorgans == "Yes") + organs = 1 + if(vorgans == "No") + organs = 0 + + var/spawnloc + if(!src.mob) + to_chat(src, "Can't spawn them in unless you're in a valid spawn location!") + return + spawnloc = get_turf(src.mob) + + var/mob/living/new_mob = new chosen(spawnloc) + + if(!new_mob) + to_chat(src, "Spawning failed, try again or bully coders") + return + new_mob.ai_holder_type = /datum/ai_holder/simple_mob/inert //Dont want the mob AI to activate if the client dc's or anything + + if(name) + new_mob.real_name = picked_client.prefs.real_name + new_mob.name = picked_client.prefs.real_name + + + new_mob.key = picked_client.key //Finally put them in the mob + if(organs) + new_mob.copy_from_prefs_vr() + + log_admin("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].") + message_admins("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].", 1) + + to_chat(new_mob, "You've been spawned as a mob! Have fun.") + + feedback_add_details("admin_verb","SCAM") //heh + + return new_mob \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index aa34b9fc18..ebda604c56 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1446,6 +1446,7 @@ #include "code\modules\admin\verbs\possess.dm" #include "code\modules\admin\verbs\pray.dm" #include "code\modules\admin\verbs\randomverbs.dm" +#include "code\modules\admin\verbs\randomverbs_vr.dm" #include "code\modules\admin\verbs\smite.dm" #include "code\modules\admin\verbs\smite_vr.dm" #include "code\modules\admin\verbs\striketeam.dm" From 372e327214b97771a873ec813a4b8b39204acd3a Mon Sep 17 00:00:00 2001 From: Heroman Date: Mon, 12 Aug 2019 13:01:23 +1000 Subject: [PATCH 14/40] Adds missing cameras to engineering mezzenine and locker room --- maps/tether/tether-06-station2.dmm | 60 +++++++++++++++++++----------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm index f4071bf941..beab71cd3e 100644 --- a/maps/tether/tether-06-station2.dmm +++ b/maps/tether/tether-06-station2.dmm @@ -4944,6 +4944,9 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/tech_supply, +/obj/machinery/camera/network/engineering{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/engineering/locker_room) "hp" = ( @@ -5639,14 +5642,12 @@ /turf/simulated/floor/tiled, /area/engineering/foyer_mezzenine) "iw" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 5 - }, -/obj/effect/floor_decal/corner/yellow/border{ - dir = 5 +/obj/structure/closet/secure_closet/engineering_personal, +/obj/machinery/camera/network/engineering{ + dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer_mezzenine) +/area/engineering/locker_room) "ix" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7010,6 +7011,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, +/obj/machinery/camera/network/engineering{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/engineering/foyer_mezzenine) "kh" = ( @@ -19812,28 +19816,30 @@ /turf/simulated/floor, /area/maintenance/station/sec_lower) "EE" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/corner/yellow/border{ + dir = 5 + }, +/obj/machinery/camera/network/engineering{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/engineering/foyer_mezzenine) +"EF" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8; icon_state = "propulsion_l" }, /turf/space, /turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/large_escape_pod1/station{ - base_turf = /turf/simulated/mineral/floor/vacuum - }) -"EF" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8 - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, /area/shuttle/large_escape_pod1/station{ base_turf = /turf/simulated/mineral/floor/vacuum }) "EG" = ( /obj/structure/shuttle/engine/propulsion{ - dir = 8; - icon_state = "propulsion_r" + dir = 8 }, /turf/space, /turf/simulated/shuttle/plating/airless/carry, @@ -19848,6 +19854,16 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"EI" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 8; + icon_state = "propulsion_r" + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/large_escape_pod1/station{ + base_turf = /turf/simulated/mineral/floor/vacuum + }) "EZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -28881,7 +28897,7 @@ gw gw gw hP -it +iw jb jF fX @@ -30308,7 +30324,7 @@ TY TY kj kf -iw +EE nD oj oN @@ -32610,11 +32626,11 @@ AN Ci Bw yY -EE -EF -EF EF EG +EG +EG +EI yY ac ac From 6bb746995e93f198ed7657828e377d6aac7168df Mon Sep 17 00:00:00 2001 From: Atermonera Date: Mon, 12 Aug 2019 09:54:30 -0800 Subject: [PATCH 15/40] Merge pull request #6401 from Shophaune/dronehatissues Maybe fixes drone hat issues --- code/modules/mob/living/silicon/robot/drone/drone_abilities.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 2f688a9008..2595d451c1 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -26,10 +26,10 @@ if(!istype(H) || !Adjacent(H)) return ..() if(H.a_intent == "grab" && hat && !(H.l_hand && H.r_hand)) - hat.loc = get_turf(src) H.put_in_hands(hat) H.visible_message("\The [H] removes \the [src]'s [hat].") hat = null updateicon() + return else return ..() \ No newline at end of file From c9e99321821081845e58b9fd351c5d2527b3cb68 Mon Sep 17 00:00:00 2001 From: Atermonera Date: Mon, 12 Aug 2019 10:39:30 -0800 Subject: [PATCH 17/40] Merge pull request #6386 from TheFurryFeline/TFF-Orange_Is_The_New_Orange Freebie Orange Jumpsuit --- .../crates_lockers/closets/secure/security.dm | 2 +- .../crates_lockers/closets/wardrobe.dm | 2 +- code/modules/clothing/under/color.dm | 7 +++- ...FurryFeline - Orange Is The New Orange.yml | 37 +++++++++++++++++++ 4 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 html/changelogs/TheFurryFeline - Orange Is The New Orange.yml 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 368fbf10f4..ed90b934f9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -302,7 +302,7 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br var/id = null starts_with = list( - /obj/item/clothing/under/color/orange, + /obj/item/clothing/under/color/orange/prison, /obj/item/clothing/shoes/orange) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 9bdc9659e2..3c3b5bbcff 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -140,7 +140,7 @@ icon_closed = "orange" starts_with = list( - /obj/item/clothing/under/color/orange = 3, + /obj/item/clothing/under/color/orange/prison = 3, /obj/item/clothing/shoes/orange = 3) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index cc5d7ed917..9384d6db7f 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -30,13 +30,16 @@ icon_state = "grey" rolled_sleeves = 0 +//TFF 5/8/19 - add a non perma-set orange jumpsuit, splits prison into its own obj with override var settings. /obj/item/clothing/under/color/orange name = "orange jumpsuit" - desc = "It's standardized prisoner-wear. Its suit sensors are permanently set to the \"Tracking\" position." icon_state = "orange" + rolled_sleeves = 0 + +/obj/item/clothing/under/color/orange/prison + desc = "It's standardized prisoner-wear. Its suit sensors are permanently set to the \"Tracking\" position." has_sensor = 2 sensor_mode = 3 - rolled_sleeves = 0 /obj/item/clothing/under/color/pink name = "pink jumpsuit" diff --git a/html/changelogs/TheFurryFeline - Orange Is The New Orange.yml b/html/changelogs/TheFurryFeline - Orange Is The New Orange.yml new file mode 100644 index 0000000000..41df57e47f --- /dev/null +++ b/html/changelogs/TheFurryFeline - Orange Is The New Orange.yml @@ -0,0 +1,37 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: TheFurryFeline + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "New orange jumpsuit for loadout that doesn't get locked to tracking." + - tweak: "Prison jumpsuit filepath changed accordingly and closets with obj updated." From 74ab7a563f7222f4daca012c9815c216112726c9 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Mon, 12 Aug 2019 15:30:41 -0500 Subject: [PATCH 19/40] Merge pull request #6390 from Heroman3003/bot-patrols Makes bot patrolling into a map var --- code/modules/mob/living/bot/bot.dm | 3 +++ code/modules/mob/living/bot/cleanbot.dm | 3 ++- code/modules/mob/living/bot/edCLNbot.dm | 3 ++- code/modules/mob/living/bot/secbot.dm | 3 ++- maps/~map_system/maps.dm | 2 ++ 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 81557f597c..6d89980bae 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -53,6 +53,9 @@ access_scanner.req_access = req_access.Copy() access_scanner.req_one_access = req_one_access.Copy() + if(!using_map.bot_patrolling) + will_patrol = FALSE + // Make sure mapped in units start turned on. /mob/living/bot/Initialize() . = ..() diff --git a/code/modules/mob/living/bot/cleanbot.dm b/code/modules/mob/living/bot/cleanbot.dm index eb2371c329..b620ca3e1a 100644 --- a/code/modules/mob/living/bot/cleanbot.dm +++ b/code/modules/mob/living/bot/cleanbot.dm @@ -113,7 +113,8 @@ dat += "Maintenance panel is [open ? "opened" : "closed"]" if(!locked || issilicon(user)) dat += "
Cleans Blood: [blood ? "Yes" : "No"]
" - dat += "
Patrol station: [will_patrol ? "Yes" : "No"]
" + if(using_map.bot_patrolling) + dat += "
Patrol station: [will_patrol ? "Yes" : "No"]
" if(open && !locked) dat += "Odd looking screw twiddled: [screwloose ? "Yes" : "No"]
" dat += "Weird button pressed: [oddbutton ? "Yes" : "No"]" diff --git a/code/modules/mob/living/bot/edCLNbot.dm b/code/modules/mob/living/bot/edCLNbot.dm index 9b84651165..08d7d9ace6 100644 --- a/code/modules/mob/living/bot/edCLNbot.dm +++ b/code/modules/mob/living/bot/edCLNbot.dm @@ -82,7 +82,8 @@ dat += "Maintenance panel is [open ? "opened" : "closed"]" if(!locked || issilicon(user)) dat += "
Cleans Blood: [blood ? "Yes" : "No"]
" - dat += "
Patrol station: [will_patrol ? "Yes" : "No"]
" + if(using_map.bot_patrolling) + dat += "
Patrol station: [will_patrol ? "Yes" : "No"]
" if(open && !locked) dat += "
Red Switch: [red_switch ? "On" : "Off"]
" dat += "
Green Switch: [green_switch ? "On" : "Off"]
" diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index 1c24593dbb..1d52b591fd 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -90,7 +90,8 @@ dat += "Check Arrest Status: [check_arrest ? "Yes" : "No"]
" dat += "Operating Mode: [arrest_type ? "Detain" : "Arrest"]
" dat += "Report Arrests: [declare_arrests ? "Yes" : "No"]
" - dat += "Auto Patrol: [will_patrol ? "On" : "Off"]" + if(using_map.bot_patrolling) + dat += "Auto Patrol: [will_patrol ? "On" : "Off"]" var/datum/browser/popup = new(user, "autosec", "Securitron controls") popup.set_content(jointext(dat,null)) popup.open() diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index 3576663bd5..90e6d068b8 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -81,6 +81,8 @@ var/list/all_maps = list() var/list/station_networks = list() // Camera networks that will show up on the console. var/list/secondary_networks = list() // Camera networks that exist, but don't show on regular camera monitors. + var/bot_patrolling = TRUE // Determines if this map supports automated bot patrols + var/allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage") // VOREStation Edit - Persistence! From f758d8fb38c5e67cd988c53f4df46a93353250cc Mon Sep 17 00:00:00 2001 From: Anewbe Date: Mon, 12 Aug 2019 15:33:07 -0500 Subject: [PATCH 21/40] Merge pull request #6381 from Nalarac/CableLayer2 Fixes Mech Cable Layer --- code/game/mecha/equipment/mecha_equipment.dm | 3 + .../mecha/equipment/tools/medical_tools.dm | 142 +----------------- code/game/mecha/equipment/tools/tools.dm | 129 ++++++++++++++++ code/game/mecha/mecha.dm | 9 +- html/changelogs/Nalarac - Cable Layer.yml | 36 +++++ 5 files changed, 178 insertions(+), 141 deletions(-) create mode 100644 html/changelogs/Nalarac - Cable Layer.yml diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 27ae65ea67..48a46fae56 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -273,3 +273,6 @@ if(chassis) chassis.log_message("[src]: [message]") return + +/obj/item/mecha_parts/mecha_equipment/proc/MoveAction() //Allows mech equipment to do an action upon the mech moving + return diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index d275c2f4a6..e9dbca2eea 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -10,7 +10,7 @@ var/mob/living/carbon/human/occupant = null var/datum/global_iterator/pr_mech_sleeper var/inject_amount = 5 - required_type = /obj/mecha/medical + required_type = list(/obj/mecha/medical) salvageable = 0 allow_duplicate = TRUE @@ -247,144 +247,6 @@ return -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer - name = "Cable Layer" - icon_state = "mecha_wire" - var/datum/event/event - var/turf/old_turf - var/obj/structure/cable/last_piece - var/obj/item/stack/cable_coil/cable - var/max_cable = 1000 - required_type = /obj/mecha/working - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/New() - cable = new(src) - cable.amount = 0 - ..() - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/attach() - ..() - event = chassis.events.addEvent("onMove",src,"layCable") - return - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/detach() - chassis.events.clearEvent("onMove",event) - return ..() - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/destroy() - chassis.events.clearEvent("onMove",event) - return ..() - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/action(var/obj/item/stack/cable_coil/target) - if(!action_checks(target)) - return - var/result = load_cable(target) - var/message - if(isnull(result)) - message = "Unable to load [target] - no cable found." - else if(!result) - message = "Reel is full." - else - message = "[result] meters of cable successfully loaded." - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) - occupant_message(message) - return - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/Topic(href,href_list) - ..() - if(href_list["toggle"]) - set_ready_state(!equip_ready) - occupant_message("[src] [equip_ready?"dea":"a"]ctivated.") - log_message("[equip_ready?"Dea":"A"]ctivated.") - return - if(href_list["cut"]) - if(cable && cable.amount) - var/m = round(input(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)) as num, 1) - m = min(m, cable.amount) - if(m) - use_cable(m) - var/obj/item/stack/cable_coil/CC = new (get_turf(chassis)) - CC.amount = m - else - occupant_message("There's no more cable on the reel.") - return - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/get_equip_info() - var/output = ..() - if(output) - return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate|Cut" : null]" - return - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/load_cable(var/obj/item/stack/cable_coil/CC) - if(istype(CC) && CC.amount) - var/cur_amount = cable? cable.amount : 0 - var/to_load = max(max_cable - cur_amount,0) - if(to_load) - to_load = min(CC.amount, to_load) - if(!cable) - cable = new(src) - cable.amount = 0 - cable.amount += to_load - CC.use(to_load) - return to_load - else - return 0 - return - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/use_cable(amount) - if(!cable || cable.amount<1) - set_ready_state(1) - occupant_message("Cable depleted, [src] deactivated.") - log_message("Cable depleted, [src] deactivated.") - return - if(cable.amount < amount) - occupant_message("No enough cable to finish the task.") - return - cable.use(amount) - update_equip_info() - return 1 - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/reset() - last_piece = null - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/dismantleFloor(var/turf/new_turf) - if(istype(new_turf, /turf/simulated/floor)) - var/turf/simulated/floor/T = new_turf - if(!T.is_plating()) - T.make_plating(!(T.broken || T.burnt)) - return new_turf.is_plating() - -/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/layCable(var/turf/new_turf) - if(equip_ready || !istype(new_turf) || !dismantleFloor(new_turf)) - return reset() - var/fdirn = turn(chassis.dir,180) - for(var/obj/structure/cable/LC in new_turf) // check to make sure there's not a cable there already - if(LC.d1 == fdirn || LC.d2 == fdirn) - return reset() - if(!use_cable(1)) - return reset() - var/obj/structure/cable/NC = new(new_turf) - NC.cableColor("red") - NC.d1 = 0 - NC.d2 = fdirn - NC.update_icon() - - var/datum/powernet/PN - if(last_piece && last_piece.d2 != chassis.dir) - last_piece.d1 = min(last_piece.d2, chassis.dir) - last_piece.d2 = max(last_piece.d2, chassis.dir) - last_piece.update_icon() - PN = last_piece.powernet - - if(!PN) - PN = new() - PN.add_cable(NC) - NC.mergeConnectedNetworks(NC.d2) - - //NC.mergeConnectedNetworksOnTurf() - last_piece = NC - return 1 - /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun name = "syringe gun" desc = "Exosuit-mounted chem synthesizer with syringe gun. Reagents inside are held in stasis, so no reactions will occur. (Can be attached to: Medical Exosuits)" @@ -402,7 +264,7 @@ range = MELEE|RANGED equip_cooldown = 10 origin_tech = list(TECH_MATERIAL = 3, TECH_BIO = 4, TECH_MAGNET = 4, TECH_DATA = 3) - required_type = /obj/mecha/medical + required_type = list(/obj/mecha/medical) //This is a list of datums so as to allow id changes, and force compile errors if removed. var/static/list/allowed_reagents = list( diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index ee42467121..f821945144 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -1537,3 +1537,132 @@ chassis.step_in = initial(chassis.step_in) ..() return + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer + name = "Cable Layer" + icon_state = "mecha_wire" + var/turf/old_turf + var/obj/structure/cable/last_piece + var/obj/item/stack/cable_coil/cable + var/max_cable = 1000 + required_type = list(/obj/mecha/working) + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/New() + cable = new(src) + cable.amount = 0 + ..() + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/MoveAction() + layCable() + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/action(var/obj/item/stack/cable_coil/target) + if(!action_checks(target)) + return + var/result = load_cable(target) + var/message + if(isnull(result)) + message = "Unable to load [target] - no cable found." + else if(!result) + message = "Reel is full." + else + message = "[result] meters of cable successfully loaded." + send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + occupant_message(message) + return + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/Topic(href,href_list) + ..() + if(href_list["toggle"]) + set_ready_state(!equip_ready) + occupant_message("[src] [equip_ready?"dea":"a"]ctivated.") + log_message("[equip_ready?"Dea":"A"]ctivated.") + return + if(href_list["cut"]) + if(cable && cable.amount) + var/m = round(input(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)) as num, 1) + m = min(m, cable.amount) + if(m) + use_cable(m) + var/obj/item/stack/cable_coil/CC = new (get_turf(chassis)) + CC.amount = m + else + occupant_message("There's no more cable on the reel.") + return + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/get_equip_info() + var/output = ..() + if(output) + return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate|Cut" : null]" + return + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/load_cable(var/obj/item/stack/cable_coil/CC) + if(istype(CC) && CC.amount) + var/cur_amount = cable? cable.amount : 0 + var/to_load = max(max_cable - cur_amount,0) + if(to_load) + to_load = min(CC.amount, to_load) + if(!cable) + cable = new(src) + cable.amount = 0 + cable.amount += to_load + CC.use(to_load) + return to_load + else + return 0 + return + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/use_cable(amount) + if(!cable || cable.amount<1) + set_ready_state(1) + occupant_message("Cable depleted, [src] deactivated.") + log_message("Cable depleted, [src] deactivated.") + return + if(cable.amount < amount) + occupant_message("No enough cable to finish the task.") + return + cable.use(amount) + update_equip_info() + return 1 + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/reset() + last_piece = null + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/dismantleFloor(var/turf/new_turf) + new_turf = get_turf(chassis) + if(istype(new_turf, /turf/simulated/floor)) + var/turf/simulated/floor/T = new_turf + if(!T.is_plating()) + T.make_plating(!(T.broken || T.burnt)) + return new_turf.is_plating() + +/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/proc/layCable(var/turf/new_turf) + new_turf = get_turf(chassis) + if(equip_ready || !istype(new_turf, /turf/simulated/floor) || !dismantleFloor(new_turf)) + return reset() + var/fdirn = turn(chassis.dir,180) + for(var/obj/structure/cable/LC in new_turf) // check to make sure there's not a cable there already + if(LC.d1 == fdirn || LC.d2 == fdirn) + return reset() + if(!use_cable(1)) + return reset() + var/obj/structure/cable/NC = new(new_turf) + NC.cableColor("red") + NC.d1 = 0 + NC.d2 = fdirn + NC.update_icon() + + var/datum/powernet/PN + if(last_piece && last_piece.d2 != chassis.dir) + last_piece.d1 = min(last_piece.d2, chassis.dir) + last_piece.d2 = max(last_piece.d2, chassis.dir) + last_piece.update_icon() + PN = last_piece.powernet + + if(!PN) + PN = new() + PN.add_cable(NC) + NC.mergeConnectedNetworks(NC.d2) + + //NC.mergeConnectedNetworksOnTurf() + last_piece = NC + return 1 \ No newline at end of file diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 5b783c8e50..0667860f95 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -384,9 +384,16 @@ /obj/mecha/Move() . = ..() if(.) - events.fireEvent("onMove",get_turf(src)) + MoveAction() return +/obj/mecha/proc/MoveAction() //Allows mech equipment to do an action once the mech moves + if(!equipment.len) + return + + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + ME.MoveAction() + /obj/mecha/relaymove(mob/user,direction) if(user != src.occupant) //While not "realistic", this piece is player friendly. if(istype(user,/mob/living/carbon/brain)) diff --git a/html/changelogs/Nalarac - Cable Layer.yml b/html/changelogs/Nalarac - Cable Layer.yml new file mode 100644 index 0000000000..041f0d033e --- /dev/null +++ b/html/changelogs/Nalarac - Cable Layer.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Nalarac + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Mech cable layer works again." From a891ca3fa2da0fd1a239b011602bb0da44fd6723 Mon Sep 17 00:00:00 2001 From: Heroman Date: Tue, 13 Aug 2019 06:38:23 +1000 Subject: [PATCH 23/40] Disabled bot patrolling on the Tether --- maps/tether/tether_defines.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 36a766c5b0..01a1d5e9b6 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -116,6 +116,8 @@ NETWORK_ALARM_FIRE ) + bot_patrolling = FALSE + allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage") spawnpoint_died = /datum/spawnpoint/tram spawnpoint_left = /datum/spawnpoint/tram From 1e34c97a9a061ada6cec227ffaa57c293ff83f35 Mon Sep 17 00:00:00 2001 From: Michiyamenotehifunana <31995558+Michiyamenotehifunana@users.noreply.github.com> Date: Tue, 13 Aug 2019 14:02:36 +0800 Subject: [PATCH 24/40] Turns NIFSoft disks into neuromods --- code/modules/nifsoft/nifsoft.dm | 74 ++++++++++++++++++++----------- icons/mob/items/lefthand_vr.dmi | Bin 612 -> 707 bytes icons/mob/items/righthand_vr.dmi | Bin 601 -> 694 bytes icons/obj/nanomods.dmi | Bin 0 -> 1515 bytes 4 files changed, 48 insertions(+), 26 deletions(-) create mode 100644 icons/obj/nanomods.dmi diff --git a/code/modules/nifsoft/nifsoft.dm b/code/modules/nifsoft/nifsoft.dm index b4791003d0..6f110de856 100644 --- a/code/modules/nifsoft/nifsoft.dm +++ b/code/modules/nifsoft/nifsoft.dm @@ -165,15 +165,19 @@ return ..() ///////////////// -// A NIFSoft Disk +// A NIFSoft Uploader /obj/item/weapon/disk/nifsoft - name = "NIFSoft Disk" + name = "NIFSoft Uploader" desc = "It has a small label: \n\ - \"Portable NIFSoft Disk. \n\ - Insert directly into brain.\"" - icon = 'icons/obj/cloning.dmi' - icon_state = "datadisk2" - item_state = "card-id" + \"Portable NIFSoft Installation Media. \n\ + Align ocular port with eye socket and depress red plunger.\"" + icon = 'icons/obj/nanomods.dmi' + icon_state = "medical" + item_state = "nanomod" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_vr.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_vr.dmi', + ) w_class = ITEMSIZE_SMALL var/datum/nifsoft/stored = null @@ -188,7 +192,7 @@ var/mob/living/carbon/human/Hu = user if(!Ht.nif || Ht.nif.stat != NIF_WORKING) - to_chat(user,"Either they don't have a NIF, or the disk can't connect.") + to_chat(user,"Either they don't have a NIF, or the uploader can't connect.") return var/extra = extra_params() @@ -197,9 +201,18 @@ else Ht.visible_message("[Hu] begins uploading [src] into [Ht]!","[Hu] is uploading [src] into you!") - if(A == user || do_after(Hu,10 SECONDS,Ht)) + icon_state = "[initial(icon_state)]-animate" //makes it play the item animation upon using on a valid target + update_icon() + + if(A == user && do_after(Hu,1 SECONDS,Ht)) new stored(Ht.nif,extra) qdel(src) + else if(A != user && do_after(Hu,10 SECONDS,Ht)) + new stored(Ht.nif,extra) + qdel(src) + else + icon_state = "[initial(icon_state)]" //If it fails to apply to a valid target and doesn't get deleted, reset its icon state + update_icon() //So disks can pass fancier stuff. /obj/item/weapon/disk/nifsoft/proc/extra_params() @@ -208,8 +221,14 @@ // Compliance Disk // /obj/item/weapon/disk/nifsoft/compliance - name = "NIFSoft Disk (Compliance)" + name = "NIFSoft Uploader (Compliance)" desc = "Wow, adding laws to people? That seems illegal. It probably is. Okay, it really is." + icon_state = "compliance" + item_state = "healthanalyzer" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand.dmi', + slot_r_hand_str = 'icons/mob/items/righthand.dmi', + ) stored = /datum/nifsoft/compliance var/laws @@ -233,19 +252,20 @@ // Security Disk // /obj/item/weapon/disk/nifsoft/security - name = "NIFSoft Disk - Security" + name = "NIFSoft Uploader - Security" desc = "Contains free NIFSofts useful for security members.\n\ It has a small label: \n\ - \"Portable NIFSoft Disk. \n\ - Insert directly into brain.\"" + \"Portable NIFSoft Installation Media. \n\ + Align ocular port with eye socket and depress red plunger.\"" + icon_state = "security" stored = /datum/nifsoft/package/security /datum/nifsoft/package/security software = list(/datum/nifsoft/ar_sec,/datum/nifsoft/flashprot) /obj/item/weapon/storage/box/nifsofts_security - name = "security nifsoft disks" + name = "security nifsoft uploaders" desc = "A box of free nifsofts for security employees." icon_state = "disk_kit" @@ -256,19 +276,20 @@ // Engineering Disk // /obj/item/weapon/disk/nifsoft/engineering - name = "NIFSoft Disk - Engineering" + name = "NIFSoft Uploader - Engineering" desc = "Contains free NIFSofts useful for engineering members.\n\ It has a small label: \n\ - \"Portable NIFSoft Disk. \n\ - Insert directly into brain.\"" + \"Portable NIFSoft Installation Media. \n\ + Align ocular port with eye socket and depress red plunger.\"" + icon_state = "engineering" stored = /datum/nifsoft/package/engineering /datum/nifsoft/package/engineering software = list(/datum/nifsoft/ar_eng,/datum/nifsoft/alarmmonitor,/datum/nifsoft/uvblocker) /obj/item/weapon/storage/box/nifsofts_engineering - name = "engineering nifsoft disks" + name = "engineering nifsoft uploaders" desc = "A box of free nifsofts for engineering employees." icon_state = "disk_kit" @@ -279,11 +300,11 @@ // Medical Disk // /obj/item/weapon/disk/nifsoft/medical - name = "NIFSoft Disk - Medical" + name = "NIFSoft Uploader - Medical" desc = "Contains free NIFSofts useful for medical members.\n\ It has a small label: \n\ - \"Portable NIFSoft Disk. \n\ - Insert directly into brain.\"" + \"Portable NIFSoft Installation Media. \n\ + Align ocular port with eye socket and depress red plunger.\"" stored = /datum/nifsoft/package/medical @@ -291,7 +312,7 @@ software = list(/datum/nifsoft/ar_med,/datum/nifsoft/crewmonitor) /obj/item/weapon/storage/box/nifsofts_medical - name = "medical nifsoft disks" + name = "medical nifsoft uploaders" desc = "A box of free nifsofts for medical employees." icon_state = "disk_kit" @@ -302,19 +323,20 @@ // Mining Disk // /obj/item/weapon/disk/nifsoft/mining - name = "NIFSoft Disk - Mining" + name = "NIFSoft Uploader - Mining" desc = "Contains free NIFSofts useful for mining members.\n\ It has a small label: \n\ - \"Portable NIFSoft Disk. \n\ - Insert directly into brain.\"" + \"Portable NIFSoft Installation Media. \n\ + Align ocular port with eye socket and depress red plunger.\"" + icon_state = "mining" stored = /datum/nifsoft/package/mining /datum/nifsoft/package/mining software = list(/datum/nifsoft/material,/datum/nifsoft/spare_breath) /obj/item/weapon/storage/box/nifsofts_mining - name = "mining nifsoft disks" + name = "mining nifsoft uploaders" desc = "A box of free nifsofts for mining employees." icon_state = "disk_kit" diff --git a/icons/mob/items/lefthand_vr.dmi b/icons/mob/items/lefthand_vr.dmi index 8d1397038dddc17998ee46099600cf8d26d0ba11..a10b0dc81cf032f9e99a1d5431d807dd749bd0bc 100644 GIT binary patch delta 576 zcmV-G0>Ay_1j7X-iBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3cNRcHg zHf97Ox)BjCH%OER8n3&?{a|r+d00DGTPE!Ct=GbNc z004cFWoUntpxV5|y!_n!6kO_*6lMp+7?;0004?Nklgzf?-*Oar6)VAkbGb>Kdt==Zk{ z3eJx}1n$RKpQE@?HQe6mR&oDB#ccnWqhzS;Ld6rG<5}yMiA@0j00000unGEsKhO{8 zp&x(H-{}XmE;|FI*8F}z@9zin)pY%UxoUPlFt`tfyd2&B(hU88DK)nr=-mgyHb+iB zpv}||7^Z>IeK6~CWb^|j><0|9AJ8W52ihFZ>Idfg#~i=g4;b_V000000002+f4JR` zmbl+Ihpm0AJ)#L!k;KDVH>FZN>$OKTp;uTWQ9mm;rBYX`253U>NW$O04>3R!vI_<* zd4JN_EdwN>xkPOn`u?O@51A?yNxV1)J{vC+g(8XO!!WSLVL||aqxb=-6%9nSXD=fF O0000^)JiBL{Q4GJ0x0000DNk~Le0001B0001B1Oos701&on3jhEBCy^y9 z6~}9#N&o-=0d!JMQvg8b*k%9#0CSOsXnz!!T4e=SKNqkw0R4I?J%hpJ-2eaqY)M2x zR9J=Wm%mQKFc63Dwv0KOKLT~YkAM`RMq)v2*pU#-6;FUFc2JkBs8b6IJ1>C5Qf1?* zut^F{?pztf7Jowq+drS~7=`+2i6@|o=|g*n z_J{WX$?TThUmZAi)2#q}4J7=+>%_Da$NeO~Tpx)lMp+7?;0004#NklFvhtULX!Xg)0zhQ0FsJ4E$wvnylyS+Dw)i5jR61vFk$U6Z}?en>S_6j>W%c* zd6sh8%QNSink8klwsPtdyhQZYl%2%k&peYb%-JB?SqHXwaMYZ5z+SBCVE42bHM zN8;k}$|$ao)$JPg3nM5`aiXYhc(Q(Z1px3zc?a8R4IKo+jjI3v002ovPDHLkV1jyx B|40A; delta 470 zcmV;{0V)2r1=$28iBL{Q4GJ0x0000DNk~Le0001B0001B1Oos701&on3jhEBDv>2C z82|tO_TFa+00001bW%=J06^y0W&i*HbCHH*Et=IG-#8>)%N3Y&lUmGHBI#OrC=XsdY5*ajMYBkPo8> ze;>C$Q0NkBaPd7(9?T3f?48a1$j3>0S0Kaia^y$a$Cc;Ua9xG~AD7wN&cEk$G+KNv zdn&|b0vW_2EKL-brYJ5^+wNzvSbtOryr8}GGcP3R`vhKSLK;Wt;M14;cAfdZoCSL>mb3`5+#2{j5@#0pidx#YBMH{@hE5B6< z2KPSL;KlJ`x`GS}>ZuklH6UIR48pW{5jBHS?%?qvl6k>cVa56YX__{&6cnXU3;+NC M07*qoM6N<$f+k7AsQ>@~ diff --git a/icons/obj/nanomods.dmi b/icons/obj/nanomods.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7068034dadedcdce1066544b3e1c949136d1e181 GIT binary patch literal 1515 zcmV005u}0{{R3yb+fl0001rP)t-sz`(#D zBP~`|W|RjSx)Bj_MJl+2FfcVnP*r4(kC^1=>ShEY>f3|fwmrMW$1gWXue-)IK6^iT z!F;sYLM9_cJThiqS;xY^oRo|sDlITOKw@-$OITn4004pM>&_h$mJ|+ee~(5`bD)wA z2!J>r$}p>C5bBN|7DG)gUul53#94}zxZvX;G(g~P!43cb00DGTPE!Ct=GbNc0072% zR9JLGWpiV4X>fFDZ*Bkpc$}q@zY4-I5QpdFDMGudsC960krwG--yx)DdyqdRiAvwz zXc20uRw%dJ{rI@=hKt!TJLLsS&pEw;b!ap@u-$4+$sJ2yhauTgQUg}C?*`|&htNg} zN)%j1l$2;)NH&yQELYI=LvG16st}FyNk~ER_8BiiQ6i0LJ{N(mPy<-h)ugn?&KE1x z|2R8rzRrQTTJ-It@D0va3Zoi{T#GL|M$zBe{XpBV-U%_wiuCn=4?)nl2_kT;G5`Ps zJxN4CRCt{2n~74}Fc5}iz-JDi#U?U=g!D{I-~aWxk{#k>r6tJ1J@(5?r<2c;RvS6f z{^JP2Fbu;m{|P}LE*dT`udZA?HNVLNVWbIRiT(v~l3rvr7qiRD!32bl+J3Ns`C`%b zSb=epESJk@u8C%|!3sgVOs{V=+4T(B;W-}JV8>&hKnz<*!vz2xj6&psG>LCNDL&t# z1z3G#_wz-^qZ_yj!|+ZQsCqcOAP{lTZ1H+n-+3O}An8^2>JF;EAWOhC*A18*(<226 zaq6I{KoRR{;v~iw@a*r@?Yn3y#0yMd4mhgI)UbeGf2Rn;x{r8)B7rF^3;6a)O)Q{D z(-is(FELxMKCTJWCTvqo51iAfOJEp=VHk#C7>4<~pz^t{r^cIB$cv)LEfrWikah{tCq&%6=Ir=78&2!T?9pUMG&e1mo7{foxx1jR5_j&yu)NdM0dH*C$5%2Z> zNr?3+&oB(bFbu;m%s-4{ey0OMS(c?l9{xMa8`h6r^Eu4cPXL;|j`z}K`S9>iA`k!3 zK00}P1Fd|{5HP-ayg>NxY?8_~bO7(cIUd_!{RCi>&mjR~{RCj+@dWfy%Ez_t0bYRB zN7VSU@;fvE4azm3{=hrr=$otRd=3u~DGw)ny@um)Wf<=2#oO~ce1=l*zchBh)jQ{R zkAONxrUhL62>G4*G7(Z*&XAKIBfkq`kA9^5&ZFo2j$s&vVHoDUJaGY(_FUl{UQ>FK z1-yjVY`pm=yMJ4OFnl|ar;t$?$*p+a>DR}5g)N^`Z^Qe~**5!Au&=6WKc+ujX2|E@{fD*M zVWrtam7NKWzB*_sSfv`%pDr`ybNWZYs)KrpJ#?|V!^W$bfeN}%jp}PG`JDdEt+|6o zZ|s1pKVit{js>dG)$k0yE}+iP0Xaji{)8c)(?1G^ySTo=26yq%A3Hp_3tfG$Ml8eH z3i0cv!>*mhoqzKDkMdLJf25x{|0Dgx`Jdbn`QX&~pWNEV`_K2B^FiPFo^w9vJKuB92Yu&z z&iSD4e9t)_^qucH=YziUy%F-k?Zo*XK literal 0 HcmV?d00001 From 008913f4153a77c52246b17bc04d5b7d9723d429 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Tue, 13 Aug 2019 16:37:12 -0500 Subject: [PATCH 25/40] Remaps atmospherics --- html/changelogs/Atermonera - atmos remap.yml | 4 + maps/southern_cross/southern_cross-1.dmm | 496 ++++++++++--------- 2 files changed, 278 insertions(+), 222 deletions(-) create mode 100644 html/changelogs/Atermonera - atmos remap.yml diff --git a/html/changelogs/Atermonera - atmos remap.yml b/html/changelogs/Atermonera - atmos remap.yml new file mode 100644 index 0000000000..94bdbfde76 --- /dev/null +++ b/html/changelogs/Atermonera - atmos remap.yml @@ -0,0 +1,4 @@ +author: Atermonera +delete-after: True +changes: + - tweak: "Atmospherics is now bigger, with more room for fun and sanity-destroying spaghetti!" \ No newline at end of file diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index 4527be1353..ccaafc8698 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -3085,7 +3085,7 @@ "bhl" = (/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Oxygen"; dir = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) "bhm" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white{icon_state = "corner_white"; dir = 1},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) "bhn" = (/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Air"; dir = 2},/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"bho" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/space) +"bho" = (/obj/structure/grille,/turf/space,/area/space) "bhp" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) "bhq" = (/obj/effect/floor_decal/corner/lime/full{dir = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmos Tank - Gas Mixing"; dir = 2},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) "bhr" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/riot_control) @@ -3128,10 +3128,10 @@ "bic" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced/nitrogen,/area/engineering/atmos) "bid" = (/obj/effect/floor_decal/corner/blue/full,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) "bie" = (/obj/effect/floor_decal/corner/blue/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "o2_in"; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/engineering/atmos) -"bif" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"big" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white,/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) -"bih" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; pixel_y = 1; use_power = 1},/obj/effect/floor_decal/corner/lime/full,/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) -"bii" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) +"bif" = (/obj/structure/grille/broken,/turf/space,/area/space) +"big" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/lattice,/turf/space,/area/space) +"bih" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1443; icon_state = "map_injector"; id = "air_in"; use_power = 1},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) +"bii" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/white,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1443; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 2000; internal_pressure_bound_default = 2000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos) "bij" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/computer/area_atmos/area,/turf/simulated/floor/plating,/area/security/riot_control) "bik" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/security/riot_control) "bil" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/security/riot_control) @@ -3179,7 +3179,7 @@ "bjb" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) "bjc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) "bjd" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) -"bje" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) +"bje" = (/obj/effect/floor_decal/corner/lime/full,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) "bjf" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/camera/network/security{c_tag = "SEC - Riot Control"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plating,/area/security/riot_control) "bjg" = (/turf/simulated/floor/plating,/area/security/riot_control) "bjh" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/security/riot_control) @@ -3223,7 +3223,7 @@ "bjT" = (/obj/random/tool,/turf/space,/area/space) "bjU" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/lattice,/turf/space,/area/space) "bjV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/space) -"bjW" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/lattice,/turf/space,/area/space) +"bjW" = (/obj/effect/floor_decal/corner/lime/full{dir = 4},/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; frequency = 1441; icon_state = "map_injector"; id = "waste_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/airless,/area/engineering/atmos) "bjX" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating,/area/security/riot_control) "bjY" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/item/weapon/tool/wrench,/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/plating,/area/security/riot_control) "bjZ" = (/obj/structure/table/reinforced,/obj/machinery/microscope,/obj/item/device/radio/intercom/department/security{pixel_y = 21},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) @@ -3254,18 +3254,18 @@ "bky" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/security) "bkz" = (/obj/machinery/button/remote/blast_door{id = "Cell 1"; name = "Cell 1 Door"; pixel_x = -1; pixel_y = 28; req_access = null; req_one_access = list(2,4)},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner{dir = 1},/obj/machinery/button/flasher{id = "Cell 1"; name = "Cell 1 Flash"; pixel_x = -1; pixel_y = 36; req_access = list(2,4)},/turf/simulated/floor/tiled,/area/security/security_cell_hallway) "bkA" = (/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bkB" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 6},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkB" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor,/area/engineering/atmos) "bkC" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos) -"bkD" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkE" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{icon_state = "map"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkF" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkG" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkI" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkJ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkK" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkL" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bkM" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) +"bkD" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor,/area/engineering/atmos) +"bkE" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/space) +"bkF" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/space,/area/space) +"bkG" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bkH" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bkI" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{icon_state = "map"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bkJ" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bkK" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 6},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bkL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bkM" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) "bkN" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/atmos{name = "Riot Control Maintenance"; req_access = newlist(); req_one_access = list(2,12,24)},/turf/simulated/floor/plating,/area/security/riot_control) "bkO" = (/obj/structure/table/steel,/obj/item/device/t_scanner,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/security_port) "bkP" = (/obj/structure/closet/firecloset/full,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -3307,24 +3307,24 @@ "blz" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Security Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "blA" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "blB" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"blC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall/r_wall,/area/engineering/atmos) +"blC" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) "blD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "N2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) "blE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Nitrogen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "blF" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Connector"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Port"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Oxygen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blI" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blK" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Inlet Valve"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blL" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Air Mix to Connector"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blM" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Outlet Valve"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blN" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blO" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mixing to Mix Tank"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Starboard"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix Tank to Port"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix Tank to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blS" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"blT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/wall/r_wall,/area/engineering/atmos) +"blG" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"blH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"blI" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"blJ" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"blK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Oxygen Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blN" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blQ" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blR" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Inlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/white/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/blue/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blS" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore"; dir = 2},/turf/simulated/floor/tiled,/area/engineering/atmos) +"blT" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/obj/machinery/light/spot{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) "blU" = (/turf/simulated/wall/r_wall,/area/maintenance/security_port) "blV" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "security_lockdown"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/security_port) "blW" = (/turf/simulated/wall,/area/maintenance/security_port) @@ -3367,19 +3367,19 @@ "bmH" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/substation/security) "bmI" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/security) "bmJ" = (/turf/simulated/wall,/area/space) -"bmK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/ai_status_display{pixel_y = 32},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmK" = (/obj/machinery/atmospherics/valve/digital/open{dir = 2; name = "Mixed Air Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) "bmL" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) "bmM" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) "bmN" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "bmO" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "bmP" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "bmQ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmR" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmS" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmR" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Air Mix to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmS" = (/obj/machinery/atmospherics/binary/pump,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "bmT" = (/turf/simulated/floor/tiled,/area/engineering/atmos) "bmU" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmV" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bmW" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmV" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bmW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/engineering/atmos) "bmX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/rack{dir = 1},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/maintenance/security,/turf/simulated/floor/plating,/area/maintenance/security_port) "bmY" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) "bmZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -3414,21 +3414,21 @@ "bnC" = (/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) "bnD" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "bnE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/sign/warning/high_voltage{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -"bnF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) "bnG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) "bnH" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "bnI" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 7500; tag_east = 2; tag_east_con = null; tag_north = 1; tag_north_con = 0.21; tag_south = 0; tag_south_con = null; tag_west = 1; tag_west_con = 0.79; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) "bnJ" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/atmos) "bnK" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnL" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnM" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Tank Bypass Pump"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnN" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/obj/machinery/atmospherics/valve/digital,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Mix to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnM" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnN" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnO" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnP" = (/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) "bnQ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnR" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnS" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bnT" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnR" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnS" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bnT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) "bnU" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/maintenance/security_port) "bnV" = (/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) "bnW" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -3468,23 +3468,23 @@ "boE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "boF" = (/obj/effect/floor_decal/corner/black/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) "boG" = (/obj/effect/floor_decal/corner/black/full{dir = 1},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "co2_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) -"boH" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"boI" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boI" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "boJ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) "boK" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) "boL" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "boM" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "N2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boN" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 4; tag_south = 1; tag_west = 5; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boN" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Air Tank Bypass Pump"},/turf/simulated/floor/tiled,/area/engineering/atmos) "boO" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 2; name = "O2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boP" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 3; tag_south = 0; tag_west = 1; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boP" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 4; icon_state = "map"},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "boQ" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boR" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boS" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boR" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/engineering/atmos) +"boS" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) "boT" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boU" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/engineering/atmos) -"boV" = (/obj/machinery/atmospherics/binary/pump{name = "Transit to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boW" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"boX" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boU" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boV" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 4; tag_south = 2; tag_west = 5; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boW" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 3; tag_south = 0; tag_west = 2; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"boX" = (/obj/machinery/atmospherics/tvalve/mirrored/bypass{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) "boY" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/maintenance/security_port) "boZ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/maintenance/security_port) "bpa" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/meter,/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -3520,21 +3520,21 @@ "bpE" = (/obj/effect/floor_decal/corner/black/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos) "bpF" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/meter,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor,/area/engineering/atmos) "bpG" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) -"bpH" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bpI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "CO2 Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpH" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpI" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "bpJ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpK" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpL" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpM" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpN" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpO" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpP" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpQ" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Mixing to Transit"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpR" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{icon_state = "map"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpS" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpK" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Starboard"; dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpL" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpM" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bpN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "CO2 Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Port"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpO" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpP" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpQ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpR" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpS" = (/obj/structure/sign/warning/compressed_gas,/turf/simulated/wall/r_wall,/area/engineering/atmos) "bpT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpU" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bpV" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sign/warning/compressed_gas{pixel_x = 32},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpU" = (/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bpV" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled,/area/engineering/atmos) "bpW" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/atmospherics) "bpX" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/security_port) "bpY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/obj/structure/plushie/beepsky,/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -3567,20 +3567,20 @@ "bqz" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/firstaid,/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "bqA" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/clothing/suit/storage/hazardvest/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/security_starboard) "bqB" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle2/start) -"bqC" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bqD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqC" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bqD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Connector"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) "bqE" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) "bqF" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqG" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) "bqH" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{icon_state = "map"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqI" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqJ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{icon_state = "map"; dir = 1},/obj/machinery/meter,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqK" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqI" = (/turf/simulated/wall,/area/engineering/atmos) +"bqJ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqK" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) "bqL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqM" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqN" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/binary/pump{name = "Transit to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqO" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bqP" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqM" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqN" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqO" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bqP" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/tiled,/area/engineering/atmos) "bqQ" = (/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/sensor{name = "Powernet Sensor - Atmospherics Subgrid"; name_tag = "Atmospherics Subgrid"},/obj/structure/table/rack,/obj/item/weapon/tank/oxygen/yellow,/obj/item/weapon/tank/oxygen/yellow,/obj/machinery/alarm{pixel_y = 23},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/maintenance/substation/atmospherics) "bqR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; RCon_tag = "Substation - Atmospherics"},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/substation/atmospherics) "bqS" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Atmos Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/atmospherics) @@ -3617,17 +3617,17 @@ "brx" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/airless,/area/hallway/secondary/eva_hallway) "bry" = (/obj/effect/floor_decal/corner/orange/full{dir = 8},/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Phoron"; dir = 4},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) "brz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "tox_in"; pixel_y = 1; use_power = 1},/obj/effect/floor_decal/corner/purple/diagonal,/obj/effect/floor_decal/corner/orange{dir = 4},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) -"brA" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/orange/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) "brB" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) -"brC" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 0; tag_north = 2; tag_south = 1; tag_west = 6; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"brC" = (/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Central"; dir = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/engineering/atmos) "brD" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) "brE" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; icon_state = "map"},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"brF" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Waste to Port"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brG" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Air to Supply"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brH" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brI" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"brJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/decal/warning_stripes,/turf/simulated/floor,/area/engineering/atmos) -"brK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"brF" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"brG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brH" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brI" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"brJ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"brK" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled,/area/engineering/atmos) "brL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/maintenance/substation/atmospherics) "brM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/atmospherics) "brN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/atmospherics) @@ -3688,23 +3688,23 @@ "bsQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/turf/simulated/floor/airless,/area/maintenance/research) "bsR" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/purple/diagonal,/obj/effect/floor_decal/corner/orange{dir = 8},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) "bsS" = (/obj/effect/floor_decal/corner/orange/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/phoron,/area/engineering/atmos) -"bsT" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"bsU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/cap/visible{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/orange/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bsV" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsT" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsU" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bsV" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled,/area/engineering/atmos) "bsW" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) "bsX" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) "bsY" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) "bsZ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "bta" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btb" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btc" = (/obj/machinery/atmospherics/tvalve/digital{dir = 8; name = "Waste to Space"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btd" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/atmos) +"btb" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"btc" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/atmos) +"btd" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 0; tag_north = 1; tag_south = 2; tag_west = 7; use_power = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) "bte" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btf" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; name = "Scrubber to Waste"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btg" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bth" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bti" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) -"btj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"btf" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/engineering/atmos) +"btg" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bth" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/firecloset,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bti" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"btj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "N2O Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) "btk" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) "btl" = (/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) "btm" = (/obj/machinery/light/small,/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/substation/atmospherics) @@ -3760,14 +3760,14 @@ "buk" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/airless,/area/maintenance/research) "bul" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/airless,/area/space) "bum" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Phoron to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bun" = (/obj/machinery/atmospherics/binary/pump{name = "Port to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bun" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "buo" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bup" = (/obj/machinery/atmospherics/unary/freezer{dir = 1; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"buq" = (/obj/machinery/atmospherics/unary/heater{dir = 1; icon_state = "heater"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bur" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bus" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/pipedispenser,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"but" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos/monitoring) -"buu" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) +"bup" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"buq" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bur" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bus" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"but" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Connector"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) +"buu" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Air to Supply"},/turf/simulated/floor/tiled,/area/engineering/atmos) "buv" = (/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) "buw" = (/turf/simulated/wall,/area/maintenance/substation/engineering) "bux" = (/turf/simulated/wall,/area/maintenance/engineering) @@ -3812,19 +3812,19 @@ "bvk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/eva_hallway) "bvl" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1441; icon_state = "map_injector"; id = "n2o_in"; pixel_y = 1; use_power = 1},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) "bvm" = (/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Nitrous Oxide"; dir = 4},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"bvn" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bvo" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 1; tag_north = 2; tag_south = 0; tag_west = 7; use_power = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvn" = (/obj/machinery/atmospherics/valve/shutoff{dir = 4; name = "Atmospherics to Distro automatic shutoff valve"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvo" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "bvp" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvq" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/white/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/maintenance/substation/atmospherics) "bvr" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/pipedispenser/disposal,/obj/structure/window/reinforced,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bvt" = (/obj/machinery/computer/security/engineering,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvu" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvv" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvw" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvx" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/obj/structure/sign/atmosplaque{pixel_x = 32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bvy" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bvz" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bvs" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvt" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvu" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/machinery/meter,/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvv" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/red,/obj/machinery/meter,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvw" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; name = "Scrubber to Waste"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvx" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvy" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bvz" = (/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/meter,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/atmos) "bvA" = (/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Engineering"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bvB" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Engineering Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bvC" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -3872,25 +3872,25 @@ "bws" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/space_heater,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) "bwt" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/item/weapon/tank/emergency/oxygen/double,/obj/random/tank,/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research) "bwu" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"bwv" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bww" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bwx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "N2O Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwv" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/maintenance/substation/atmospherics) +"bww" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwx" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) "bwy" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwz" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwz" = (/obj/structure/sign/atmosplaque{dir = 1; pixel_x = 32; pixel_y = 0},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwA" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) "bwB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwC" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwD" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Ports to Waste"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwE" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Ports to Waste"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwF" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; name = "Air to Ports"},/obj/structure/cable/cyan,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bwG" = (/turf/simulated/wall,/area/engineering/atmos/monitoring) -"bwH" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = -26; pixel_y = -16; req_one_access = list(10,24)},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwJ" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwK" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwL" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Monitoring"; dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bwM" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bwN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bwC" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/cyan,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwD" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Phoron Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/orange/bordercorner2{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwE" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 1; tag_south = 0; tag_west = 6; use_power = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwF" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/yellow/border{dir = 9},/obj/machinery/computer/security/engineering,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwG" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwH" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwI" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Engine Waste")},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwJ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/obj/machinery/computer/atmos_alert,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwK" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bwL" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Ports to Waste"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwM" = (/obj/machinery/atmospherics/binary/pump/on{dir = 2; name = "Air to Ports"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bwN" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bwO" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bwP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bwQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -3946,23 +3946,23 @@ "bxO" = (/obj/machinery/light/small,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) "bxP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxins_airlock"; name = "exterior access button"; pixel_x = 28; pixel_y = -22; req_one_access = list(8,13,65)},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/rnd/toxins_launch) "bxQ" = (/turf/simulated/floor/airless,/area/rnd/toxins_launch) -"bxR" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"},/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/atmos) -"bxS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump{dir = 4; name = "N2O to Connector"},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxU" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxV" = (/obj/structure/table/standard,/obj/structure/fireaxecabinet{pixel_y = -32},/obj/machinery/cell_charger,/obj/item/device/multitool{pixel_x = 5},/obj/item/weapon/tool/wrench,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxW" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/obj/machinery/meter,/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxX" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxY" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/obj/machinery/meter,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bxZ" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/meter,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bya" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) -"byb" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/newscaster{pixel_y = -30},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"byc" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"byd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"bye" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/obj/machinery/computer/shutoff_monitor,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"byf" = (/obj/machinery/computer/atmoscontrol,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) -"byg" = (/obj/structure/table/steel,/obj/item/weapon/paper{info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info"},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"byh" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) +"bxR" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxS" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "atmoslockdown"; name = "Atmospherics Lockdown"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/engineering/atmos) +"bxT" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/orange/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/obj/machinery/atmospherics/valve/digital{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxV" = (/obj/machinery/atmospherics/binary/pump,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxW" = (/obj/machinery/atmospherics/pipe/cap/visible{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxX" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = -26; pixel_y = -16; req_one_access = list(10,24)},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bxY" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bxZ" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bya" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Monitoring Room"; dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byc" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bye" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos) +"byf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"byg" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/meter,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/atmos) +"byh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "byi" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "byj" = (/obj/machinery/power/grid_checker,/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "byk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/maintenance/engineering) @@ -4011,12 +4011,12 @@ "bzb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxins_outer"; locked = 1; name = "Toxins External Access"; req_access = list(8,10,13)},/turf/simulated/floor/tiled,/area/rnd/toxins_launch) "bzc" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/dispenser,/turf/simulated/floor/tiled,/area/engineering/atmos) "bzd" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -30},/obj/item/clothing/glasses/welding,/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/turf/simulated/floor/tiled,/area/engineering/atmos) -"bze" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = -32},/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/device/pipe_painter,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Aft"; dir = 1},/obj/machinery/light/spot,/turf/simulated/floor/tiled,/area/engineering/atmos) -"bzf" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"bzg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) -"bzh" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) -"bzi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access = list(24)},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) -"bzj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/atmos) +"bze" = (/obj/structure/table/standard,/obj/structure/fireaxecabinet{dir = 2; pixel_x = 32; pixel_y = 0},/obj/machinery/cell_charger,/obj/item/device/multitool{pixel_x = 5},/obj/item/weapon/tool/wrench,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bzf" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Aft Port"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bzg" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bzh" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bzi" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/yellow/border{dir = 10},/obj/structure/table/reinforced,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -38},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bzj" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos) "bzk" = (/obj/structure/sign/warning/nosmoking_2,/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) "bzl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) "bzm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) @@ -4072,15 +4072,15 @@ "bAk" = (/turf/simulated/wall/r_wall,/area/engineering/storage) "bAl" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bAm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAo" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAn" = (/obj/machinery/atmospherics/tvalve/mirrored{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bAo" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/obj/machinery/computer/shutoff_monitor,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) "bAp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAq" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAr" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 5; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAs" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAt" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAu" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bAv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bAq" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/machinery/computer/atmoscontrol,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bAr" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bAs" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) +"bAt" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/pipedispenser,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bAu" = (/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bAv" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bAw" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bAy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) @@ -4153,15 +4153,15 @@ "bBN" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/storage) "bBO" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bBP" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBR" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/engineering/atmos) +"bBR" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 3; name = "Atmos RC"; pixel_x = 0; pixel_y = -32},/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/clothing/ears/earmuffs,/obj/item/clothing/ears/earmuffs,/obj/item/device/pipe_painter,/obj/machinery/light/spot,/turf/simulated/floor/tiled,/area/engineering/atmos) "bBS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBT" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Atmospherics"; sortType = "Atmospherics"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBT" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) "bBU" = (/obj/effect/floor_decal/corner/white/diagonal{icon_state = "corner_white_diagonal"; dir = 4},/obj/effect/floor_decal/corner/red,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/n20,/area/engineering/atmos) -"bBV" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBW" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 10; icon_state = "intact"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBV" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bBW" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) "bBX" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bBY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bBY" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos) "bBZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bCa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Hallway 1"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bCb" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) @@ -4229,14 +4229,14 @@ "bDl" = (/obj/machinery/shieldgen,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor,/area/engineering/storage) "bDm" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/storage) "bDn" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Hallway 2"; dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bDo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 1},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bDp" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bDq" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bDo" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/engineering/atmos) +"bDp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos) +"bDq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bDr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bDs" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bDt" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bDu" = (/turf/simulated/wall,/area/engineering/foyer) -"bDv" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/engineering/foyer) +"bDv" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bDw" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineeringatmos{name = "Engineering Monitoring Room"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/foyer) "bDx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/foyer) "bDy" = (/turf/simulated/wall,/area/engineering/engineer_eva) @@ -4304,15 +4304,15 @@ "bEI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) "bEJ" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) "bEK" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) -"bEL" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bEM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bEL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bEM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bEN" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) "bEO" = (/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bEP" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bEQ" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/techmaint,/area/engineering/hallway/atmos_hallway) "bER" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) "bES" = (/obj/machinery/computer/power_monitor,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bET" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bET" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/engineering/foyer) "bEV" = (/turf/simulated/floor/tiled,/area/engineering/foyer) "bEW" = (/obj/machinery/computer/security/engineering,/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) @@ -4326,7 +4326,7 @@ "bFe" = (/obj/structure/closet,/obj/item/clothing/glasses/welding,/obj/item/weapon/weldingtool,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/shoes/boots/workboots,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/item/clothing/glasses/sunglasses,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "bFf" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/plating,/area/maintenance/engineering) "bFg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bFh" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/space) +"bFh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bFi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/engineering) "bFj" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) "bFk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/fp_emergency) @@ -4383,7 +4383,7 @@ "bGj" = (/obj/machinery/newscaster{pixel_y = 30},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/mixing) "bGk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) "bGl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bGm" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bGm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bGn" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/mixing) "bGo" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{icon_state = "map"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/mixing) "bGp" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/rnd/mixing) @@ -4401,12 +4401,12 @@ "bGB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/engineering{name = "Engineering Hard Storage"; req_access = list(11)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor,/area/engineering/storage) "bGC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bGD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bGE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) -"bGF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"bGE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) +"bGF" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bGG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bGH" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) "bGI" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/obj/item/modular_computer/console/preset/engineering,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bGJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bGJ" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bGK" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) "bGL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) "bGM" = (/obj/machinery/computer/atmoscontrol,/obj/machinery/light{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) @@ -4489,9 +4489,9 @@ "bIl" = (/obj/structure/table/reinforced,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/recharger{pixel_y = 0},/obj/random/tech_supply,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) "bIm" = (/obj/item/device/t_scanner,/obj/structure/table/steel,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/engineering) "bIn" = (/obj/machinery/computer/rcon,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bIo" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bIp" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bIq" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bIq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bIr" = (/obj/machinery/computer/atmos_alert,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) "bIs" = (/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/clothing/suit/space/void/engineering,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/eastleft{name = "Engineering Suits"; req_access = list(11)},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) "bIt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) @@ -4571,9 +4571,9 @@ "bJP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/atmos_hallway) "bJQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/engineering/hallway/atmos_hallway) "bJR" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/machinery/recharger,/obj/item/weapon/tape_roll,/obj/machinery/button/remote/blast_door{id = "englockdown"; name = "Engineering Lockdown"; pixel_x = -24; pixel_y = 0; req_access = list(10)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = -34; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJS" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/window/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 4; name = "Atmospherics"; sortType = "Atmospherics"},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bJT" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/door/window/southright{name = "Engineering Monitoring Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) -"bJU" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bJU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bJV" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 0; req_one_access = list(10,24)},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) "bJW" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) "bJX" = (/obj/structure/table/steel_reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) @@ -4640,9 +4640,9 @@ "bLg" = (/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) "bLh" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/engineering/hallway/engineer_hallway) "bLi" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bLj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLj" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bLk" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/rnd/mixing) -"bLl" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) +"bLl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) "bLm" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/foyer) "bLn" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) "bLo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/yellow/border{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) @@ -4745,7 +4745,7 @@ "bNh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/hallway/engineer_hallway) "bNi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access = list(10)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/hallway/engineer_hallway) "bNj" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/engineering/foyer) -"bNk" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bNk" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) "bNl" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/engineering/engineer_eva) "bNm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engineer_eva) "bNn" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/yellow/bordercorner,/turf/simulated/floor/tiled,/area/engineering/engineer_eva) @@ -4884,7 +4884,7 @@ "bPQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) "bPR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = -22},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) "bPS" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/reinforced/airless,/area/rnd/mixing) -"bPT" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/engineering/foyer) +"bPT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 4},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) "bPU" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor,/area/engineering/engine_waste) "bPV" = (/turf/simulated/floor,/area/engineering/engine_waste) "bPW" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/engineering/engine_waste) @@ -10966,7 +10966,7 @@ "ecO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_snorth_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = -26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_north_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) "ecP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "escape_dock_ssouth_airlock"; name = "exterior access button"; pixel_x = -4; pixel_y = 26; req_one_access = list(13)},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_dock_south_starboard_outer"; locked = 1; name = "Escape Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2) "ecQ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_ssouth_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) -"ecR" = (/turf/simulated/floor/reinforced/airless,/area/space) +"ecR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/plating,/area/engineering/foyer) "ecS" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "bsquarters"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) <<<<<<< HEAD @@ -11017,6 +11017,18 @@ "edK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "edL" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "edM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"edN" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/engineering/foyer) +"edO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/red{icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"edP" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/tiled,/area/engineering/foyer) +"edQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"edR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/engineering/hallway/atmos_hallway) +"edS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/tiled,/area/engineering/foyer) +"edT" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/tiled,/area/engineering/foyer) +"edU" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"edV" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/red,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/tiled,/area/engineering/foyer) +"edW" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) +"edX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) +"edY" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/foyer) >>>>>>> 5e38b8e... Adds shutoff valve monitor (#6353) (1,1,1) = {" @@ -11373,6 +11385,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWBaYmaYnaYoaXaaYpaXLaXMaXIaXLaYqaXhaYraXjaYsaWnaYtaWNaYuaYvaYwaYxaYyaYzaYAaYBaYCaYDaYEaXvaYFaWoaYGaYHaYIaYJaYKaXAaYLaYMaYNaWXaXEaXFaXFaXFaYiaYjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWsaWtaWtaWtaWtaYkaWtaWtaWtaYlaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaWBaYOaYPaXJaXaaYQaYRaYSaYTaYUaYVaXhaYWaXjaYXaWnaYYaYZaZaaZbaWnaZcaZdaZeaZfaZgaWoaZhaZiaZjaWoaWoaXAaXAaZkaZlaZmaZnaZoaZpaZqaWXaXEaZraZsaZtaYiaYjaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtaYkaWuaYlaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWCaXaaZuaXaaXhaZvaXLaZwaZxaXLaZyaXhaXhaZzaXhaWnaZAaWnaZBaWnaWnaWnaZCaZDaZCaWnaWoaWoaWoaWoaWoaWoaZEaZFaYbaZGaZHaXAaZIaZJaZKaWXaZLaXFaZMaXFaZNaWXaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaafaafaafaWsaWuaZOaWtaWtaWtaWtaWtaZPaWtaWtaWtaWtaWtaZQaWuaWsaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +<<<<<<< HEAD aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaZRaZSaZTaZUaZVaZWaXLaZXeblaXLaZZbaababbacbadbaebafbagbahbaibajbakbalbambanbaobapbaqbarbasbatbauaXAaXAaXAbavaXAaXAbawbaxbawaWXbaybazbaAbazbaBaWXaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtbaCbaDbaEaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaabaaaaaabaFbaGbaHbaIbaJbaKbaLbaMbaNbaLbaObaPbaLbaQbaRbakbaSbaTbaUbaVbaWebmbaYbaZbbabbbbbcbbdbbebbfbbgbaobbhbbibbjbbkbblbbmbbnbbkbbobbpbbqaXFbbraXFbbsaWXaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaWsaWsaWtaWtaWtaWtbaCaWtbaDaWtbaEaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabbtbbubbvaXMbbwbbxbbybbzbbAbbBbbCbbDbbEbbFbbGbakbaSbbHbbIbbJbbKbbLbbMbbNbbObaobbPbbQbbRbbSbapbaobbTbbUbbVbbWbbXbbXbbYbbZbcabcbbccbcdbcebcdbcfaYjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtbaCaWtbcgbaDbchaWtbaEaWtaWtaWtaWsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11410,6 +11423,45 @@ aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbA aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafbHWbHWbJwbJxbJybJzbJAbHWbJBbJCbJDbJEbJFbJGbAkbIabIaebJbJIbJJbJKbJLbAkbJMbJNbJObJPbCfbERbJQbCfbJRbJSbJTbJUbJVbDybGNbJWbJXbJYbJZbIxbKabKbbKcbKdbKebIxbKfbKgbuxbCrbDGbKhbKibDGbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbKjbKkbHcbKlbKmbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbFBbKnbKobKpbFBbKqbvZbEabDZbKzbDZbEabBlbEgbKsbOobKsbKubBlbKvbxIbKwbxIbKxbCJebLebKebKbKybBsbPEbBsbBsbBsbHGbKAebMbBwbBwbBwbBwbBwbBwbBwbBwbKBbKCbKDbKEbLkbKBbKGbKBbKHbKIbKJbKKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaafbKLbKMbKMbKMbKMbKNbKObKPbKQbKRbKSbKTbKUbHWbKVbKWbKXbKYbKZbBEbAkbAkbAkbAkbAkbAkbAkbAkbAkbLabLbbLcbLdbLebLfbLgbLhbLibLjbPTbLlbLmbEXbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbIxbLybLzbLAbCrbDGbDGbDGbDGaaaaaaaaaaaaaaaaaabLBbLBbLCbLCbLCbLBbLBbLDbLEbHcbLFbLGbLHbLHbIDbIDbIDbLHbLHaaaaaaaaaaaaaaaaaabFBbFBbFBbFBbFBbLIbBqbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMabMbbMbbMbbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMnbMobMpbMmbMqbMrbJvbMsbMtbMubMvbMwbMxbMybMzbMAbMAbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaabaaaaadaadaadaadaadaadaadaagaadaaaaaaaaaaaabMCbMDbMEbKMbMDbKNbMFbMGbMHbMIbMJbMKbMLbMMebNbMObMPbMQbBEbMRbMSbMTbMUbMVbMWbMXbMYbMZbNabNbbNcbNdbNebNfbNgbNhbNibNjbNkbPTbLlbLmbEXbNlbJWbNmbNnbNobIxbNpbNqbNrbNsbNtbIxbNubNvbuxbCrbymbuxaaaaaaaaaaabaaaaaabLCbLCbLBbNwbNxbNybNzbNAbNBbNCbNDbHcbNEbNFbNGbNHbNIbNJbNKbNLbLHbIDbIDaaaaaaaabaaaaaaaaabvZbNMbDXbNNbBqbCKbNObNPbNQbNRbNSbNTbNUbNVbNWbNXbNYbNXbNZbOabObbNXbOabNXbOcbOdbOeebObOfbOgbNWbNYbOabOhbNZbNXbOibOjbOkbOhbOlbOmbOnbPGbOpbOqbOrbOsbOtbOubOvbOwbOxbOxdgpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +======= +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadbhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaZRaZSaZTaZUaZVaZWaXLaZXeblaXLaZZbaababbacbadbaebafbagbahbaibajbakbalbambanbaobapbaqbarbasbatbauaXAaXAaXAbavaXAaXAbawbaxbawaWXbaybazbaAbazbaBaWXaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtbaCbaDbaEaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaadaadbhobhobhobhobifaaaaaaaaaaaaaagaabaaaaaabaFbaGbaHbaIbaJbaKbaLbaMbaNbaLbaObaPbaLbaQbaRbakbaSbaTbaUbaVbaWebmbaYbaZbbabbbbbcbbdbbebbfbbgbaobbhbbibbjbbkbblbbmbbnbbkbbobbpbbqaXFbbraXFbbsaWXaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaWsaWsaWtaWtaWtaWtbaCaWtbaDaWtbaEaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaafaafaaaaaaaaabhobhoaaaaaaaaaaadaaaaaaaaabbtbbubbvaXMbbwbbxbbybbzbbAbbBbbCbbDbbEbbFbbGbakbaSbbHbbIbbJbbKbbLbbMbbNbbObaobbPbbQbbRbbSbapbaobbTbbUbbVbbWbbXbbXbbYbbZbcabcbbccbcdbcebcdbcfaYjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtbaCaWtbcgbaDbchaWtbaEaWtaWtaWtaWsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaafaaaaaaaafaagaaaaaaaaaaaaaaaaadaafaafaafaWBaWBbcibcjbckaXhbclbcmbcnaXhbcobcpaXhaXLbcqbcrbcrbcrbcsbctbcubcvbcwbcxbcybczbaobaobcAbaobaobaobcBbcCbcDbcEbcFbbUbcGbbUbcHaYjbcIbcJbcKbcJbcLaYjaaaaaaaaaaadbcMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWsaWtaWtaWtaWtbcgbaDbchaWtaWtaWtaWtaWsaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaabgvbgvbgvbgvaaabgvbgvbgvbgvaaabgvbgvbgvbgvaaabgvbgvbgvbgvaafaadaaaaaaaaaaaaaadaaaaaaaaaaaabcNbcObcPbcQbcRbcSbcPbcTbcRbcUbcVaXhbcWbcXbcrbcYbcZbdabdbbdcbcrbddbdebdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdrbbUbbUbbUbdsbdtbdubdvbdwbdxbduaYjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtaWtbcgbaDbchaWtaWtaWtaWtaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaafaafaafaafaafaafaafbgvbhibhjbgvaafbgvbhkbhlbgvaafbgvbhmbhnbgvbigbgvbhpbhqbgvaaaaadaaaaaaaaaaaaaadaaaaaaaaaaaabcNbdybdzbdAbcRbdBbdzbdAbcRbdCbdDaXhbdEbdFbcrbdGbdHbdIbdJbdKbdLbdMbcxbdNbdObdPbdQbdRbdQbdSbdgbdTbcCbdUbdVbdWbdXbdYbdZbdYbeabebbecbedbeebefaWXaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabegaWsbehaWsaWtaWtbcgbaDbchaWtaWtaWsbehaWsbegaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaaaaaaaaaaaaaaaaaaaaabgvbTTbTTbgvaaabgvbYmbYmbgvaaabgvbYibYibgvaaabgvbZHbZHbgvaaabfGaaaaaaaaaaaaaadaafaafaafbeibcNbejbenbelbcRbembePbelbcRbeobepaXhbeqberbcrbesbdHbetbdHbeubevbcwbewbexbeybezbeAbeBbeCbeDbdgbeEbeFbeGbeHbbUbeIbeJbeJbeJbeJbeJbeKbeKbeKbeKbeLbeLaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabegbeMbaDaWsaWsaWsaWtbaDaWtaWsaWsaWsbaDbeMbegaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaaaaaaaaaaaaaaaaaaaaabgvbibbicbgvaafbgvbidbiebgvaafbgvbihbiibgvbfFbgvbjebjWbgvaafaafaafaafaafaafbeNaaaaaaaaabeObeQbeTbeRbeSbeUbkzbeRbeVbeWbeXbeYaXhbeZbfabcrbfbbfcbfdbdHbfebffbcwbcxbfgbfhbfibdQbfjbdQbfkbflbfmbfnbfobfpbfqbfrbeJbfsbftbfubfvbfwbfxbfybfzbfAbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabegbaDbfBbegaaaaWsaWsbfCaWsaWsaaabegbfDbfEbegaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaabaaaaaaaaaaaabgvbjabjbbgvaaabgvbjabjbbgvaaabgvbjcbjdbgvbgwbgvbkBbkDbgvaaaaaaaaaaaaaaaabcaaaaaaaaaaaabfHbfIbfJbfKbfLbfMbfNbfObfPbfQbfRbfSaXhbcWbfTbcrbfUbfVbfWbfXbfYbfZbcwbcxbgabgbbgcbgdbgebgfbggbdgbghbghbgibgjbghbgkbeJbglbgmbgnbeJbgobgpbgqbgrbgsbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbegbehbgtbegaaaaafaaaaaaaaaaafaaabegbgtbgubegaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabjUbgwaaaaaaaaabjUbgwaaaaaaaaabjVbjVaaabgwaaabkEbkFaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabgxbgybgzbgybcRbgAbcRbgBbcRbcRbgCbgDbgEbgFbgGbcrbgHbgIbgJbgKbgLbcrbgMbgNbgObdgbgPbgQbgRbdgbdgbdgbgSbgTbgUbgVbgWbgXbhXbgYbgZbhabeJbhbbhcbhdbhebhfbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaabhgbhgbhgaaaaaaaafaaaaaaaaaaafaaaaaabhgbhhbhgaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaabkAbkAbkCbkIbkGbkHbkHbkKbkIbkJbkMbkHbkHbkLblGblHbkJblCblIblJbkAbkAaaaaadaaaaaaaadaafaafaafbgxbgxbhrbhsbgybhtbhubcRbhvbhwbcRbhxbhybhzbhAbhBbhCbhDbhEbhFbhGbhHbhIbhJbhKbhLbhIbhMbhNbhObhPbhQbhRbhSbhTbhUbhTbhVbhWbstbhXbhYbhXbeJbhZbiabhZbeKbeKbeLaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaabkAblKblDblEblFblLblOblPblMblNbnGblSblQblRbmKbmRblTbuobmSbmVbmTbkAaaaaadaaaaaaaadaaaaaaaaabgxbijbikbilbgybimbinbcRbiobipbcRbiqbirbisbitbiubivbiwbixbiybizbiAbiBbiCbiDbiEbiFbiGbiHbiIbiJbiKbiLbiKbiKbiMbiKbiNbiObiPbiQbiRbiSbiTbiUbiVbiWbiXbiYbiZaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaabkAbmWbmLbmMbmNbnFbmTbmLbmObmPbmQbmTbmTbnLbnNbnObsWbnMbnRbnSbnPbkHaaaaadaadaaaaaaaaaaaaaaabgxbjfbjgbjhbgybjibjjbcRbjkbjlbcRbjmbjnbjmbjmbjobjpbjqbjmbjrbjsbjtbjubjvbjwbjxbjubjybjsbjzbjAbjBbjCbfgbjDbjEbjFbjGbjHbjIbjJbjKbjLbjMbjNbjObjPbjQbjRbjSaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhbjTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabgvbgvbgvbgvbgvaaabkHbnTbnGbmObmPbnHbnHbnHbnIbnJbnKboHboHboIboNboPbsWbmTbmUbmMboRbkHaaaaaaaadbfGaaaaaaaaaaaabgxbjXbjgbjYbgxbcNbcNbcNbcNbcRbcRbjZbkabkbbkcbkdbkebkfbkgbjrbkhbkibkjbkkbklbkmbknbkobkpbkqbkrbksbktbkubkqbkvbkvbkvbkvbkvbkvbkvbkvbkwbkxbkybkybkybEBbkyaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabgvboFbZKboGboJboKboSboUboLboMboVboQboQboLboQboWboOboQboQboLbpHbpIboXbmTbmUbpLbpKbkAaaaaaaaafaaaaadaaaaaaaaabgxbgxbkNbgxbgxbkObkPbkQbjrbkRbkSbkTbkUbkVbkWbkXbkYbkZblablbblcbldbleblfblgblhblibljblkbllblmblnbloblpblqbkvblrblsbltblublvblwbkvblxblybkyblzblAblBbkyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbhgaafaafaafaafaaaaaaaaaaafaafaafaafbhhaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbgvbpDbZKbpEbpFbpGbpMbpNbpJbnQbpObnHbnHbnHbnHbnHbpPbnHbnHbnHbnQbpQbmPbnHbpUbpVbpRbpSaaaaafaadaafaadaafaafaafblUblVblVblVblWblXblYblZbjrbmabmbbmcbmdbmebkZbmfbmgbmhbmibmjbmkbldbmlbmmbmnbmoblcbljbmpebnbmrbmsbmtbmubmvbkvbmwbmxbmybmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbkyaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmJbhgbmJaaaaaaaafaaaaaaaaaaafaaaaaabmJbhhbmJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabgvbgvbgvbgvbgvaaabqCbqDbqEbmMbmNbmTbmTbqJbqGbqIbqNbqObqKbqMbuobnLbmNbmTbmUbqPbqPbkAaaaaaaaadaaaaaaaaaaaaaaablUbmXbmYbmZblWblWbnablWbjrbnbbncbndbnebnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnobnsblkebobnubnvbnwbnxbnybkvbnzbnAbmAbnBbmAbnCbmCbnDbnEbkybkybkybkybkyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbhgaafaafaafaafaaaaaaaaaaafaafaafaafbhhaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaafaaaaaabkHbrAbmTbmMbsWbmTbmTbmTbmTbrCbmTbrGbrFbrFbrJbqLbrHbrIbpTbrKbrKbkHaaaaaaaafaaaaaaaaaaaaaaablUblUbnUebpbnWbnXbnYblVbjrbnZboabmbbobbocbkZbodbmfboebofbjrbogbohboibojbokbolbombonboobkqbopboqborbosbotbkvboubovbowboxbmyboybmCbozboAboBebqboDboEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKaafaafaafbgvbgvbgvbgvbgvaaabkHbrAbmTbmMbsWbmTbmTbsTbsTbqFbmTbsXbsZbsUbmUbnLbsWbqJbmTbsVbsVbkHaaaaaaaafaaaaaaaabaaaaaaaaaboYboZbpablYbpbbnYblVbpcbpdbpebpfbpgbphbkZbpibkZbpjbpkbjrbjubjubjubplbpmbpnbjubpobjubkqbppbprbpqbpsbptbkvbpubpvbmAbpwbmxbpxbmCbADbpzbpAbpBbpCboEaaaaaaaaaaabaagaaaaaaaaaaaaaaaaafabcaadaadaadaadaadaagaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabgvbrybZMbrzboJboKbtbbtcboLbrBbtdbmTbmTbtgbtfbqFbmTbrDbmLbuobmUbnLbsWbmTbthbpWbpWbpWbpWbpWaafaaaaaaaaaaaaaaaaaaboYboZbpXbpYbpZbqablVbjrbqbbqcbqdbqebqfbqgbqhbqibqjbqkbjrbqlbjubqmbqnbqobqpbqmbqqbjubqrbkqbkqbkqbkqbkqbkvbqsbqtbqubqvbqwbqxbmCbANbqzbqAbZLbZLboEaaaaaaaaaaaaaadaaaaaaaaaaaaaafaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabgvbsRbZMbsSbpFbpGbtibtjbwybunbsWbmTbsXbrIbrIbqHbuqbsYbupbsYbpTbnLbsWbmTburbpWbqQbqRbqSbpWbqTbqUbqUaaaaaabqVblUbqWbqXbqYbqZbrabrbbrbbrbbrbbrbbrbbrcbrbbrbbrbbrbbrbbrbbrbbrbbrbbrdbrebrfbrfbrgbrhbribribrjbrkbrlbrmbrnbmCbrobrpbrqbrobrobmCbmCbAObrsbrtbrubrvbrwbrxaafaafaafaadaaaaaaaaaaafaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbgvbgvbgvbgvbgvaaabusbutbqEbmTbmNbmTbmUbmTbmTbuobmTbrDbmTbuobmTbrEbuubvnbvobvqbrLbrMbrNbrObrPebrbqUbqUaaabrRbrSbrTbrUbrVbrWbrXbrYbrZbsabsbbscbsdbsebsfbsgbshbsibsjbZNbslbZPbsnbsobspbsqbsrbssbsubsvbtPbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbsIbsJbsKbsLbsMbsNbsObsPaaaaaaaaaabcaadaadaadaagaabaaaaaaaafaaaaaaaafaaaaafaafbsQaafaafaaaaaaaaaaaeaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaafaaaaaabkHbrAbmTbmTbsWbmTbmUbtabvsbvpboQbvubvtbtebvxbvybvvbvwbvzbwvbtkbtlbtmbtnbtobtpbtqbqUaaabtrbrSbtsbttbtubtvbtwbtxbtybtzbtAbtzbtBbtzbtCbtDbtzbtEbtFbtGbtHbtIbtJbtKbtLbtMbtNbtObtQbtRbuTbtSbvkbtTbtUbtVbtWbtVbtXbtVbtYbtZbuabubbucbudbsLbuebufbsObugaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabuhbuibujbukaaaaafaaabulaaaaafaaaaaaaagaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaabaaaaaabhhaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabgvbgvbgvbgvbgvaaabkHbrAbmTbmTbsWbqJbnRbwxbuvbwwbwwbwAbwwbwzbuvbnLbsWbmTbwCbuwbuwbuwbuwbuwbuxbuybuzbqTbqTblUblUbuAbuBbuCbuDbuEbrbbuFbuGbuHbuGbuIbuJbuGbuKbuLbuHbuKbuMbuNbuObuPbuQbspbuRbuSbuUbuVbvXbvYbuWbuXbuWbuYbuWbuWbuWbuZbvabvbbvabuZbuZbvcbvdbrtbvebvfbrwbrwaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabvgbvhbvhbvgbvgbvgbvibvjaaaaafaaaaaaaafaaaaaaaaaaaaaabbhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbgvbvmcaPbvlboJboKboSbwDboLboQbwEbvrbwGboTbwwbwFbwJbwKbwHbwIbwwbwMbwLbmTbxRbuwbwNbvAbvBbuwbvCbvDbvEbvFbvGbvHbvIbvJbvKblUblUbvLbrbbvMbvNbvObvNbvPbrbbvQbuPbrbbvRbuPbrbbvSbuPbrYbvTbvUbvVbvWbxhbxjbzybxjbuWbwabwbbwcbwdbwebuWbwfbwgbwhbwibwjbuZbwkbvZbvZbwlbwmbwnbvgaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabwobwpbwqbwrcaQcaQbwtbvjbvibvidmJaaaaafaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaabgvbwucaPbBUbpFbpGbxSbxTbxWbxUbxUbxVbxYbxZbwwbxXbycbydbyabybbyfbygbyebwBbzebuwbyhbwObwPbwQbwRbCqbYsbwUbwUbwUbwUbwUbwUbwVbwWbwXbrbbwYbvNbwZbvNbvPbrbbvNbxabrbbvNbxbbrbbvNbxcbrbbxdbxebxfbxgbxhclfclgcnebuWbxkbxlbxmbxnbxobuWbxpbxqbxrbxsbxtbuZbxubxvbvZbxwbxibxxbvgaaaaaaaaaaaaaaabvgbvgbvibvibvibvgbxybxzbxAbxBbxCbxDbxEbxFcePccVcdkbxHbxHbxIbxIaafaafaafbhgaafaafaafaafbxJbxKbxLbhgbxMbxNbxObxPbxQaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgvbgvbgvbgvbgvaaabqCbumbqEbzhbzfbzgbzjbAnbwwbzibArbAsbAobAqbwwbnLbAtbAubBQbuwbAvbyibyjbuwbvCcgecozbuxbuxbuxbuxbuxbuxbuxbymbynbrbbyobvNbypbyqbvPbrbbyrbysbrbbyrbytbrbbyrbyubrbbyvbywbyxbxgbxhcnfcoUcJZbuWbyybyzbyAbyBbyCbuWbyDbxqbyEbxqbyFbuZbyGbxvbvZbvZbyHbvZbvZbvgbvgbvgbvgbvgbvgebsbyIbyJbyKbyKbyLbyMbyMbyLbyNbyOcqScqUcyVcqTbyTbxHbyUbyVbxIbxIaaaaaabhgaaaaaaaaaaafbyWbyXbyYbyZbzabyZbyWbzbbyWaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabkHbzcbzdbBRbkAbkAbBTbBVbzkbuvbBWbzlbwwbuvbuvbDpbBYbDobDobuwbuwbzmbuwbuwbuxcAIbzobzpbuxbzqbzrbzsbztbuxbymbynbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbzubzvbzwbzxbxhcOBdcSdfrbuWbzAbzBbzCbzDbzEbuWbzFbzGbzHbxqbzIbuZbzJbzKbzLbzMbzNbzNbzNbzNbzNbzNbzObzNbzNbzNbzNbzPbzQbzRbzSbzTbzUbzVbzWbyObyPcHvbyObzYbzZbAabAbbAcbAdbxIaaaaaabhgaaaaaaaaaaaabyWbAebFdbAfbAgbAhbyWbAibyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjaaaaaaaaaaaaaaabAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAkbAkbAkbAkbAkbAkbAkbAkbAkbAlbAmbDvbDqbApbETbFhbELbEMbGEbGFbGmbAwbAxbAybAzbAAbABbACbvCcKMbAEbAFbuxbDJbymbymbymbAGbAHbAIbwUbAJbAKbALbAMbwUbwUbwUbwUcNqcOFcQhcOEcOFcQibAQbuxbARbASbATbxhbxhbxhbxhbuWbAVbAWbAXbAYbAZbuWbBabBbbBcbBdbBebuZbBfbxibBgbBhbBibBjbBkbxibxibBlbBlbBlbBlbBlbBlbBlbBmbBnbBobBpbBqbBrbBrbBrbBrbBsbBsbBsbBsbBsbBtbBubBvbBwbBwbBxbBwbBxbBwbBxbBwbBwbBybBzbBAbBBbBCbyWbBDbyWbyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaabBEbBFbBGbBHbAkbBIbBJbBKbBLbBMbBMbBNbAkbBObBPbIobGJbBSbJSbBSbIqbBSbLjbBXbJUbBZbCabCbbCcbCdbCebCfbvCbCgbzobChbuxbCibCjbymbymbuxbCkbClbymbCmbCnbuxbuxbCobuxbuxbCpcRncSBcSCcRocSBcSEbuxbuxbCsbCtbCubvZbvZbCvbyJbuWbCwbCxbuWbuWbuWbuWbuZbuZbCybuZbuZbuZbBfbxibCzbCAbBibwnbCBbCCbCDbBlbCEcaRbCGbCHbCIbBlbCJbCJbCKbCJbCJbBrbCLbCMebubBsbCObBsbCPbBsbCQbCRbCSbBwbCTbCUbCVbCVbCWbCXbCYbBwbCZbDabDbbDcbDdbDebDfbDgbyWaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaabaaaaaaaaabBEbDhbDhbDibAkbDjbDjbDjbDkbBMbDlbDmbAkbDnbNkbPTbLlbDrbDsbDtbCfbDuedNbDwecRbDubDybDybDzbDAbDBbDybuxbDCbDDbFebuxbuxbuxbDFbymbuxbCrbDGbDGbDHbDGbDGbDIbymbImbuxbDKbymbDLbuxbvFbymbCrbymbuxbDMbDNbDObvZbxibxibzzbDPbxibDQbAUbAUbAUbAUbBgbDRbDSbDTbDUbDVbDWbDXbDYbvZbDZbDZbDZbDZbEabBlbEbbEcbEdbEebEfbFMbEhebvbEjbEkbElbBrebwbEndgGbBsbEpbBsbEqbBsbBsbErbEsbEtbEubEvbCVbEwbExbEybEzbBwbEAbEAbEAbFUbEAbEAbEAbEAbEAbEAaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaadaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaabBEbECbEDbEEbAkbEFbEGbEGbEHbEGbEIbEJbAkbEKbNkedObENbEObEPbEQbERbESbOXbEUedPbEWbEXbEYbEZbFabFbbFcbuxbGSbGTbFfbFgcbEbuxbvGbvFbuxbFibDGbFjbFkbFlbDGbFmbFnbChbuxbzpbymbFobuxbvGbymbFpbFqbFrbFsbFtbFubFvbDTbFwbDTbFxbDTbFybDTbDTbDTbDTbFzbFAbFBbFBbFBbFBbFBbFBbFCbFDbDZbFEebxbFGbEabFHbFIbFJbFKbFLbFVbFMbFNbFObFPbEjbHxbKtebzebybFTbGbbGibFWbFXbFYbBsbFZbGabHybGcbGdbGebGdbGfbGgbGhbKrbGjbGkbGlbGpbGqbGnbGobJpbGrbGsaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaabBEbGtbGubGvbAkbGwbEGbEGbGxbGybGzbGAbGBbGCbGDedRedQbEObGGbGHbERbGIbXNbGKedSbGMbEXbGNbGObGPbGQbGRbuxbGUbVfbuxbGVcbEbuxbAQbAQbuxbGWbDGbGXbFkbGYbDGbuxbuxbuxbuxbGZbGZbGZbuxbuxbuxbuxbuxbHabHbbHcbHdbHabvZbvZbvZbvZbvZbvibvibvibvZbvZbvZbvZbFBbHebHfbHgbHhbFBbHibHjbHkbHlbHmbHnbEabHobHpbEcbHqbHrbHsbEgbHtebBebCebAbFQbBrebFebDebEbBsbHCbHDbHEbHFbBsbHGbHHbBwbHIbHJbHKbHJbHKbHJbHLebGbHMbHNbHObHPbHQbHRbHSbHTbHUbHVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaafaaabHWbHWbHWbHWbHWbHWbHWbHXbHXbBEbHYbHZbDibAkbIabIabIbbIcbIdbIebIfbAkbIgbIhbIibIjbIkbIlccMbCfbInedUbIpedTbIrbDybIsbItbIubIvbIwbIxbIxbIybIxbIxbIxbIxbuxbuxbuxbIzbDGbIAbIBbICbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbIEbIFbIGbIHbIIbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbIJbIKbILbILbIMbINbBqbDZbIObIPbIQbEabIRbISbITbIUbIVbIWbEgbEjebIbIXebHbIZbBrbBrbBrbBrbBsbJdbJebJfbJgbBsbJhbJibBwbBwbJjbJkbJlbJjbJmbJjbBxbJnbJobKFbJqbJrbJsbJtbJqbJubJvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafbHWbHWbJwbJxbJybJzbJAbHWbJBbJCbJDbJEbJFbJGbAkbIabIaebJbJIbJJbJKbJLbAkbJMbJNbJObJPbCfbERbJQbCfbJRedWbJTedVbJVbDybGNbJWbJXbJYbJZbIxbKabKbbKcbKdbKebIxbKfbKgbuxbCrbDGbKhbKibDGbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbKjbKkbHcbKlbKmbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbFBbKnbKobKpbFBbKqbvZbEabDZbKzbDZbEabBlbEgbKsbOobKsbKubBlbKvbxIbKwbxIbKxbCJebLebKebKbKybBsbPEbBsbBsbBsbHGbKAebMbBwbBwbBwbBwbBwbBwbBwbBwbKBbKCbKDbKEbLkbKBbKGbKBbKHbKIbKJbKKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaafbKLbKMbKMbKMbKMbKNbKObKPbKQbKRbKSbKTbKUbHWbKVbKWbKXbKYbKZbBEbAkbAkbAkbAkbAkbAkbAkbAkbAkbLabLbbLcbLdbLebLfbLgbLhbLibOXbIpedXbLmbEXbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbIxbLybLzbLAbCrbDGbDGbDGbDGaaaaaaaaaaaaaaaaaabLBbLBbLCbLCbLCbLBbLBbLDbLEbHcbLFbLGbLHbLHbIDbIDbIDbLHbLHaaaaaaaaaaaaaaaaaabFBbFBbFBbFBbFBbLIbBqbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMabMbbMbbMbbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMnbMobMpbMmbMqbMrbJvbMsbMtbMubMvbMwbMxbMybMzbMAbMAbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaabaaaaadaadaadaadaadaadaadaagaadaaaaaaaaaaaabMCbMDbMEbKMbMDbKNbMFbMGbMHbMIbMJbMKbMLbMMebNbMObMPbMQbBEbMRbMSbMTbMUbMVbMWbMXbMYbMZbNabNbbNcbNdbNebNfbNgbNhbNibNjbOXbIpedYbLmbEXbNlbJWbNmbNnbNobIxbNpbNqbNrbNsbNtbIxbNubNvbuxbCrbymbuxaaaaaaaaaaabaaaaaabLCbLCbLBbNwbNxbNybNzbNAbNBbNCbNDbHcbNEbNFbNGbNHbNIbNJbNKbNLbLHbIDbIDaaaaaaaabaaaaaaaaabvZbNMbDXbNNbBqbCKbNObNPbNQbNRbNSbNTbNUbNVbNWbNXbNYbNXbNZbOabObbNXbOabNXbOcbOdbOeebObOfbOgbNWbNYbOabOhbNZbNXbOibOjbOkbOhbOlbOmbOnbPGbOpbOqbOrbOsbOtbOubOvbOwbOxbOxdgpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +>>>>>>> c6222fd... Merge pull request #6363 from Atermonera/atmosia_remap aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKLbMDbMDbKMbMDbKNbMFbOybOzbOAbOBbOCbODbHWbOEbKXbOFbOGbOHbOIbOJbOKbOLbOMbONbOObOPbOQbORbOSbOTbOKbOUbOVbLgbNhbOWbNjbOXbOYbOZbPabDybDybDzbPbbDzbDybIxbIxbPcbPdbNsbPebIxbPfbPgbAQbCrbymbuxaaaaaaaaaaaaaaabLCbLCbPhbPibPhbPjbPkbPlbNAbNAbPmbNDbHcbNEbPmbNHbNHbPnbPobPpbPqbPrbPqbIDbIDaaaaaaaaaaaaaaabvZbPsbPtbPubPvbPvbPwbPxbPwbPwbPwbPwbPybPzbCSbPAbPAbPAbPAbPBbPAbPAbPAbPAbPAbPAbPAbPCbPDbSWbPFbPFbPFbPFbPFbPFbPFbTabPHbPIbPJbPKbPLbJvbPMbPNbMubPObPPbPQbMybPRbPSbTCbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMCbKMbKMbKMbKMbKNbKObPUbPVbPVbPWbPXbPYbHWbPZbQabQbbQcbDibQdbQebQfbQgbQhbQibQhbQhbQjbQhbQgbQkbQlbQmbQnbQobQpbQkbQqbQrbQsbOZbQtbQubQvbQwbQxbQybQzbQAbQBbQCbQDbNsbQEbIxbQFbPgbAQbCrbQGbuxaaaaaaaaaaaabLCbLCbQHbQIbQJbQKbQLbQMbQNbQJbQObQPbQQbHcbQRbQPbQSbNEbQTbQUbQVbQWbNEbQXbQYbIDbIDaaaaaaaaaaaabvZbQZbvZbvZbPvbRabRbbRcbRdbRebRfbRgbRhbRibEsbRjbRkbRlbRmbRnbRobRpbRqbRrbRsbRtbPAbPCbRubRvbRwbRxbPFbRybRzbRAbPFbRBbRCbPIbPIbRDbREbRFbRGbRHbRIbRJbKBbKKbKBbKBbKBbKBbKGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabHWbRKbRLbRMbRNbRObRPbHWbRQbRRbQbbRSbDibRTbRUbQgbQgbRVbRWbRXbRYbRZbSabSbbQkbScbSdbSebSfbSgbShbSibSjbSkbEVbSlbSmbSnbSobSpbSqbSrbSsbStbStbSubStbStbStbStbuxbuxbCrbSvbuxaaaaaaaaabLCbLCbQHbQIbSwbSwbSxbSybSzbSAbSAbSBbSCbSDbSEbSFbSGbSHbSIbSJbSJbSKbSLbSMbSMbQXbQYbIDbIDaaaaaaaaabvZbSNbSObSPbPvbSQbSRbSSbSTbSUbSVbWObSXbSYbSZcdnbTbbTcbTdbTdbTdbTebTfbTgbThbTibTjbPCbTkbTlbTmbTnbTobTobTobTobPFbTpbTqbTrbPIbTsbTtbKBbTubTvbTwbTxbTybTzbTAbTBbJvaaaaaaaabaaaaaaaaaabcaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11628,38 +11680,38 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXGaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaecRecRecRecRecRecRecRecRecRecRaaaecRecRecRecRaaaaaaaaabfGaaaaaaaaaaaaaaaabcaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaafaaaaaaaaaaafaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaabaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVbjTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaafaaaaafaafaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaafbfGaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaadAXdAXdAXaafaafaafaaaaaaaaaaafaafaafdAXdAXdAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaafabcaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAYdAWdAWdAWaaaaaaaaaaaaaaaaaadAVdAVdAVaaaaaaaafaaaaaaaaaaafaaaaaadAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaadAXdAXdAXaafaafaafaaaaaaaaaaafaafaafdAXdAXdAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafecRdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaabaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAZdBadBadBadAZdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaecRdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadBadBadAVdAVdAVdAVdAVdBadBadBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaecRdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKaafaafaafecRdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaecRdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdAVdAVdBbdAVdAVdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaecRdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaagaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafecRdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBcdBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaafaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaecRdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBddBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaecRdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdBadAVdAVdAVdBcdBcdBcdBedBfdBgdBhdBgdBidBjdBcdBcdBcdAVdAVdAVdBadAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafecRdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBkdBldBmdBndBodBpdBqdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBraaaaaaaaaaaaaaadBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBvdBwdBxdBydBzdBmdBAdBBdBCdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdAVdAVaaadAVaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdBLdBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaafaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaafaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaafaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaadAVdAVdAVdAVbfGaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhoaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaafdAVdAVdAVdAVaafdAVdAVdAVdAVaafdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaabhoaaaaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafaafdAVdAVdAVdAVaafdAVdAVdAVdAVaafdAVdAVdAVdAVaafdAVdAVdAVdAVaafaadaafaafaafaafaafaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaadAVdAVdAVdAVaaaaaaaaaaaaaaaabcaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVaaaaafaaaaaaaaaaafaaadAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaafaafaaaaaaaaaaafaafaaaaafaaaaafaafaafaafaadaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaadaaaaaaaaaaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaabaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaadaadaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVbjTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafbfGaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaagaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaadAXdAXdAXaafaafaafaaaaaaaaaaafaafaafdAXdAXdAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaafabcaadaafaafaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAYdAWdAWdAWaaaaaaaaaaaaaaaaaadAVdAVdAVaaaaaaaafaaaaaaaaaaafaaaaaadAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaadAXdAXdAXaafaafaafaaaaaaaaaaafaafaafdAXdAXdAXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaabaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAZdBadBadBadAZdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAWdAWdAWdAWdAWdAWdAWdAWdAWdAWdAWaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadBadBadAVdAVdAVdAVdAVdBadBadBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKaafaafaafaafdAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdAVdAVdBbdAVdAVdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaafaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaagaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBcdBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVaaaaafaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBddBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdBadAVdAVdAVdBcdBcdBcdBedBfdBgdBhdBgdBidBjdBcdBcdBcdAVdAVdAVdBadAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBkdBldBmdBndBodBpdBqdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBraaaaaaaaaaaaaaadBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaafaaaaafaaaaaadAVdAVdAVdAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBvdBwdBxdBydBzdBmdBAdBBdBCdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdAVdAVaaadAVaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdBLdBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBPdBcdBcdBQdBRdBSdBTdBUdBVdBWdBXdBYdBZdCadBcdBcdCbdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdCcdCcdCcdCcdCcdCcdAVdAVdAVdAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdCddBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdCfdCfdCfdCfdCfdCfdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdCgdChdChdChdChdCidCjdCkdCldCmdCcdAVdAVdAVdAVdAVdCndCodCodCpdCpdCqdCrdCsdBLdBLdBLdBAdCtdCudBcdBcdAVdAVdAVdAVdAVdAVdAVdAVdCfdCvdCwdCxdCydCzdCAdCAdCAdCAdCBdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 6d43c8f45a1728268b626fa05524696608cd70cc Mon Sep 17 00:00:00 2001 From: Heroman Date: Wed, 14 Aug 2019 11:31:47 +1000 Subject: [PATCH 26/40] Changes fishing loot pools for indoor fishing --- code/modules/fishing/fishing_vr.dm | 29 +++++++++++++++++++++++++++++ vorestation.dme | 1 + 2 files changed, 30 insertions(+) create mode 100644 code/modules/fishing/fishing_vr.dm diff --git a/code/modules/fishing/fishing_vr.dm b/code/modules/fishing/fishing_vr.dm new file mode 100644 index 0000000000..095f179a3b --- /dev/null +++ b/code/modules/fishing/fishing_vr.dm @@ -0,0 +1,29 @@ +GLOBAL_LIST_INIT(indoor_fishing_chance_list, list(FISHING_RARE = 5, FISHING_UNCOMMON = 20, FISHING_COMMON = 30, FISHING_JUNK = 15, FISHING_NOTHING = 50)) +GLOBAL_LIST_INIT(indoor_fishing_junk_list, list( + /obj/random/junk = 15, + /obj/random/maintenance/clean = 1 + )) + +/turf/simulated/floor/water/indoors + min_fishing_time = 45 + max_fishing_time = 120 + +/turf/simulated/floor/water/indoors/handle_fish() + if(has_fish) + rare_fish_list = GLOB.generic_fishing_rare_list + uncommon_fish_list = GLOB.generic_fishing_uncommon_list + common_fish_list = GLOB.generic_fishing_common_list + junk_list = GLOB.indoor_fishing_junk_list + fishing_loot = GLOB.indoor_fishing_chance_list + +/turf/simulated/floor/water/deep/indoors + min_fishing_time = 45 + max_fishing_time = 120 + +/turf/simulated/floor/water/deep/indoors/handle_fish() + if(has_fish) + rare_fish_list = GLOB.generic_fishing_rare_list + uncommon_fish_list = GLOB.generic_fishing_uncommon_list + common_fish_list = GLOB.generic_fishing_common_list + junk_list = GLOB.indoor_fishing_junk_list + fishing_loot = GLOB.indoor_fishing_chance_list \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index ebda604c56..b04fdc755f 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1820,6 +1820,7 @@ #include "code\modules\fishing\fishing_net.dm" #include "code\modules\fishing\fishing_rod.dm" #include "code\modules\fishing\fishing_rod_vr.dm" +#include "code\modules\fishing\fishing_vr.dm" #include "code\modules\flufftext\Dreaming.dm" #include "code\modules\flufftext\Hallucination.dm" #include "code\modules\flufftext\look_up.dm" From 151043ad852336f9ae0b6b09779f5270cf83a742 Mon Sep 17 00:00:00 2001 From: chaoko99 Date: Tue, 13 Aug 2019 19:02:47 -0700 Subject: [PATCH 27/40] Fixes Chaoko99's custom item. --- .../vore/fluffstuff/custom_clothes_vr.dm | 10 ++++++++-- icons/vore/custom_clothes_vr.dmi | Bin 198416 -> 201313 bytes icons/vore/custom_items_left_hand_vr.dmi | Bin 6027 -> 5465 bytes icons/vore/custom_items_right_hand_vr.dmi | Bin 5810 -> 5246 bytes 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 2dc626b801..4396932eab 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -1858,5 +1858,11 @@ Departamental Swimsuits, for general use icon_state = "aika_coat" icon_override = 'icons/vore/custom_clothes_vr.dmi' - item_state = "aika_coat" - flags_inv = HIDEJUMPSUIT | HIDETIE \ No newline at end of file + item_state = "aika_coat_mob" + flags_inv = HIDEJUMPSUIT | HIDETIE + + item_icons = list( + slot_l_hand_str = 'icons/vore/custom_clothes_vr.dmi', + slot_r_hand_str = 'icons/vore/custom_clothes_vr.dmi', + ) + item_state_slots = list(slot_r_hand_str = "aika_coat_mob_r", slot_l_hand_str = "aika_coat_mob_l") \ No newline at end of file diff --git a/icons/vore/custom_clothes_vr.dmi b/icons/vore/custom_clothes_vr.dmi index be9148ca025bab0dfdb22da490dac96375714ce5..8f7e1178ba65ebcf8d5c8032d9f1499a373fa877 100644 GIT binary patch delta 15879 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�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 diff --git a/icons/vore/custom_items_left_hand_vr.dmi b/icons/vore/custom_items_left_hand_vr.dmi index df3f28a24ac62c07338b9e7ba6ba476c7832a4ee..1ee6c0a336cf54801a5d959973d1492920bdcb6d 100644 GIT binary patch literal 5465 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 literal 6027 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 diff --git a/icons/vore/custom_items_right_hand_vr.dmi b/icons/vore/custom_items_right_hand_vr.dmi index 6ba5e21f9d7ddfbcee8959221ac38af4cc76af3b..a6e419e2ede417f468d451cde6335c2436916e83 100644 GIT binary patch literal 5246 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 AO#lD@ literal 5810 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 Date: Wed, 14 Aug 2019 12:13:33 +1000 Subject: [PATCH 28/40] Makes sensors and GPS be able to see other levels from Z-4 --- maps/tether/tether_defines.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 01a1d5e9b6..57f9a44d8e 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -166,9 +166,9 @@ /datum/map/tether/get_map_levels(var/srcz, var/long_range = TRUE) if (long_range && (srcz in map_levels)) return map_levels - else if (srcz == Z_LEVEL_TRANSIT || srcz == Z_LEVEL_MISC || srcz == Z_LEVEL_SHIPS) //Z4 and technical levels + else if (srcz == Z_LEVEL_MISC || srcz == Z_LEVEL_SHIPS) //technical levels return list() // Nothing on these z-levels- sensors won't show, and GPSes won't see each other. - else if (srcz >= Z_LEVEL_SURFACE_LOW && srcz <= Z_LEVEL_SOLARS) //Zs 1-3, 5-9 + else if (srcz >= Z_LEVEL_SURFACE_LOW && srcz <= Z_LEVEL_SOLARS) //Zs 1-3, 5-9, Z4 will return same list, but is not included into it return list( Z_LEVEL_SURFACE_LOW, Z_LEVEL_SURFACE_MID, From 798e45cc1a5818aa63f9798fe067cea0a3e80c09 Mon Sep 17 00:00:00 2001 From: Mewchild Date: Tue, 13 Aug 2019 23:03:49 -0500 Subject: [PATCH 29/40] Adds Westfire to Xenohybrid Whitelist --- config/alienwhitelist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/config/alienwhitelist.txt b/config/alienwhitelist.txt index e99648be6a..90c4941b59 100644 --- a/config/alienwhitelist.txt +++ b/config/alienwhitelist.txt @@ -39,6 +39,7 @@ singo - Gutter tastypred - Xenochimera varonis - Xenochimera verkister - Xenochimera +westfire - Xenomorph Hybrid wickedtemp - Shadekin Empathy wtfismyname - Xenomorph Hybrid xioen - Diona From 77a59382d8154a35349954bd7f1bdbc1686bb1d2 Mon Sep 17 00:00:00 2001 From: Novacat <35587478+Novacat@users.noreply.github.com> Date: Wed, 14 Aug 2019 00:18:35 -0400 Subject: [PATCH 30/40] Update fishing_vr.dm --- code/modules/fishing/fishing_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/fishing/fishing_vr.dm b/code/modules/fishing/fishing_vr.dm index 095f179a3b..2a499d96d2 100644 --- a/code/modules/fishing/fishing_vr.dm +++ b/code/modules/fishing/fishing_vr.dm @@ -1,4 +1,4 @@ -GLOBAL_LIST_INIT(indoor_fishing_chance_list, list(FISHING_RARE = 5, FISHING_UNCOMMON = 20, FISHING_COMMON = 30, FISHING_JUNK = 15, FISHING_NOTHING = 50)) +GLOBAL_LIST_INIT(indoor_fishing_chance_list, list(FISHING_RARE = 5, FISHING_UNCOMMON = 20, FISHING_COMMON = 30, FISHING_JUNK = 5, FISHING_NOTHING = 50)) GLOBAL_LIST_INIT(indoor_fishing_junk_list, list( /obj/random/junk = 15, /obj/random/maintenance/clean = 1 @@ -26,4 +26,4 @@ GLOBAL_LIST_INIT(indoor_fishing_junk_list, list( uncommon_fish_list = GLOB.generic_fishing_uncommon_list common_fish_list = GLOB.generic_fishing_common_list junk_list = GLOB.indoor_fishing_junk_list - fishing_loot = GLOB.indoor_fishing_chance_list \ No newline at end of file + fishing_loot = GLOB.indoor_fishing_chance_list From bab3ae66ddfef795b545250792fefa3896f1aa2b Mon Sep 17 00:00:00 2001 From: Heroman Date: Wed, 14 Aug 2019 16:50:30 +1000 Subject: [PATCH 31/40] Reduces power consumption of active lights --- code/modules/power/lighting.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 542fe3153d..ba60c84d32 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -9,7 +9,7 @@ #define LIGHT_BROKEN 2 #define LIGHT_BURNED 3 #define LIGHT_BULB_TEMPERATURE 400 //K - used value for a 60W bulb -#define LIGHTING_POWER_FACTOR 5 //5W per luminosity * range +#define LIGHTING_POWER_FACTOR 2 //5W per luminosity * range //VOREStation Edit: why the fuck are lights eating so much power, 2W per thing var/global/list/light_type_cache = list() /proc/get_light_type_instance(var/light_type) @@ -170,7 +170,7 @@ var/global/list/light_type_cache = list() layer = ABOVE_MOB_LAYER use_power = 2 idle_power_usage = 2 - active_power_usage = 20 // VOREStation Edit - Keep lights at 20 power + active_power_usage = 10 power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list var/on = 0 // 1 if on, 0 if off var/brightness_range From aef6a96454234e06200d736c3260bf75641930c8 Mon Sep 17 00:00:00 2001 From: Ketrai Date: Wed, 14 Aug 2019 08:56:43 +0200 Subject: [PATCH 32/40] Makes the titanium rods that spawn into plastic ones instead --- maps/tether/tether-02-surface2.dmm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index f6a425da90..a4cdc30380 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -10102,11 +10102,11 @@ /area/tether/surfacebase/east_stairs_two) "ue" = ( /obj/structure/table/rack, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, -/obj/item/weapon/material/fishing_rod/modern, +/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/weapon/material/fishing_rod/modern/cheap, +/obj/item/weapon/material/fishing_rod/modern/cheap, /turf/simulated/floor/tiled, /area/tether/surfacebase/fish_farm) "uf" = ( From 4fb9362b05cdac5a5a68aa4300113a197c5a2d56 Mon Sep 17 00:00:00 2001 From: Ketrai Date: Wed, 14 Aug 2019 08:57:45 +0200 Subject: [PATCH 33/40] Makes the fishing time increase for indoor fishing only 10% longer --- code/modules/fishing/fishing_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/fishing/fishing_vr.dm b/code/modules/fishing/fishing_vr.dm index 2a499d96d2..f6e7dd715e 100644 --- a/code/modules/fishing/fishing_vr.dm +++ b/code/modules/fishing/fishing_vr.dm @@ -5,8 +5,8 @@ GLOBAL_LIST_INIT(indoor_fishing_junk_list, list( )) /turf/simulated/floor/water/indoors - min_fishing_time = 45 - max_fishing_time = 120 + min_fishing_time = 33 + max_fishing_time = 99 /turf/simulated/floor/water/indoors/handle_fish() if(has_fish) From 349cc6513459b8e2ef0402e706496e1c0223656d Mon Sep 17 00:00:00 2001 From: Heroman Date: Wed, 14 Aug 2019 17:06:37 +1000 Subject: [PATCH 34/40] Fixes customsay not working for non-admins --- code/modules/mob/living/living.dm | 29 +--------------------------- code/modules/mob/living/living_vr.dm | 25 ++++++++++++++++++++++++ vorestation.dme | 1 + 3 files changed, 27 insertions(+), 28 deletions(-) create mode 100644 code/modules/mob/living/living_vr.dm diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9e618ba85c..e5dd8bf63e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1362,31 +1362,4 @@ default behaviour is: CLONE:[getCloneLoss()] BRAIN:[getBrainLoss()] - "} -//VOREStation edit, allows for custom say verbs -/mob/living/verb/customsay() - set category = "IC" - set name = "Customise Say Verbs" - set desc = "Customise the text which appears when you type- e.g. 'says', 'asks', 'exclaims'." - - if(src.client && src.client.holder) - var/customsaylist[] = list( - "Say", - "Whisper", - "Ask (?)", - "Exclaim/Shout/Yell (!)", - "Cancel" - ) - var/sayselect = input("Which say-verb do you wish to customise?") as null|anything in customsaylist //we can't use alert() for this because there's too many terms - - if(sayselect == "Say") - custom_say = sanitize(input(usr, "This word or phrase will appear instead of 'says': [src] says, \"Hi.\"", "Custom Say", null) as text) - else if(sayselect == "Whisper") - custom_whisper = sanitize(input(usr, "This word or phrase will appear instead of 'whispers': [src] whispers, \"Hi...\"", "Custom Whisper", null) as text) - else if(sayselect == "Ask (?)") - custom_ask = sanitize(input(usr, "This word or phrase will appear instead of 'asks': [src] asks, \"Hi?\"", "Custom Ask", null) as text) - else if(sayselect == "Exclaim/Shout/Yell (!)") - custom_exclaim = sanitize(input(usr, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [src] exclaims, \"Hi!\"", "Custom Exclaim", null) as text) - else - return - //VOREStation edit ends \ No newline at end of file + "} \ No newline at end of file diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm new file mode 100644 index 0000000000..3e11087773 --- /dev/null +++ b/code/modules/mob/living/living_vr.dm @@ -0,0 +1,25 @@ +/mob/living/verb/customsay() + set category = "IC" + set name = "Customise Say Verbs" + set desc = "Customise the text which appears when you type- e.g. 'says', 'asks', 'exclaims'." + + if(src.client) + var/customsaylist[] = list( + "Say", + "Whisper", + "Ask (?)", + "Exclaim/Shout/Yell (!)", + "Cancel" + ) + var/sayselect = input("Which say-verb do you wish to customise?") as null|anything in customsaylist //we can't use alert() for this because there's too many terms + + if(sayselect == "Say") + custom_say = sanitize(input(usr, "This word or phrase will appear instead of 'says': [src] says, \"Hi.\"", "Custom Say", null) as text) + else if(sayselect == "Whisper") + custom_whisper = sanitize(input(usr, "This word or phrase will appear instead of 'whispers': [src] whispers, \"Hi...\"", "Custom Whisper", null) as text) + else if(sayselect == "Ask (?)") + custom_ask = sanitize(input(usr, "This word or phrase will appear instead of 'asks': [src] asks, \"Hi?\"", "Custom Ask", null) as text) + else if(sayselect == "Exclaim/Shout/Yell (!)") + custom_exclaim = sanitize(input(usr, "This word or phrase will appear instead of 'exclaims', 'shouts' or 'yells': [src] exclaims, \"Hi!\"", "Custom Exclaim", null) as text) + else + return \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index ebda604c56..c016f9d9cc 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2130,6 +2130,7 @@ #include "code\modules\mob\living\living_defines_vr.dm" #include "code\modules\mob\living\living_movement.dm" #include "code\modules\mob\living\living_powers.dm" +#include "code\modules\mob\living\living_vr.dm" #include "code\modules\mob\living\login.dm" #include "code\modules\mob\living\logout.dm" #include "code\modules\mob\living\say.dm" From f9e7e092b7bfaaee5d5ffd94f77db7d50435e262 Mon Sep 17 00:00:00 2001 From: Mewchild Date: Wed, 14 Aug 2019 02:10:00 -0500 Subject: [PATCH 35/40] Fixes minor Dark Bar issues --- maps/tether/tether-01-surface1.dmm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index 508e3668ee..63a768dfe3 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -25562,7 +25562,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor/glass, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled, /area/maintenance/lower/atmos) "cjd" = ( /obj/machinery/disposal, @@ -26410,13 +26410,15 @@ /turf/simulated/floor/tiled, /area/engineering/atmos/processing) "dRx" = ( -/obj/machinery/vending/cigarette, /obj/machinery/power/apc{ cell_type = /obj/item/weapon/cell/apc; dir = 8; name = "west bump"; pixel_x = -28 }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, /turf/simulated/floor/plating, /area/crew_quarters/sleep/maintDorm3) "dSz" = ( @@ -27501,7 +27503,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/steel_dirty, /area/crew_quarters/sleep/maintDorm2) "ipN" = ( /obj/structure/closet/crate, @@ -28450,7 +28452,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/wood, +/turf/simulated/floor/tiled/steel_dirty, /area/crew_quarters/sleep/maintDorm3) "leP" = ( /obj/structure/railing{ @@ -29050,7 +29052,7 @@ d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/steel_dirty, /area/crew_quarters/sleep/maintDorm1) "nhV" = ( /obj/machinery/atmospherics/pipe/tank/nitrous_oxide{ From 4540551117f11f16a1f2d758cb5a5bddf5896430 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Wed, 14 Aug 2019 20:37:18 -0500 Subject: [PATCH 36/40] Merge pull request #6403 from Heroman3003/airuntime Fixes language runtime upon ai creation --- code/modules/mob/transform_procs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index c1d0f9de64..8bcfbef968 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -91,7 +91,7 @@ add_language(LANGUAGE_SCHECHI, 1) add_language(LANGUAGE_SIGN, 1) add_language(LANGUAGE_TERMINUS, 1) - add_language(LANGUAGE_ZADDAT = 0) + add_language(LANGUAGE_ZADDAT, 0) // Lorefolks say it may be so. if(O.client && O.client.prefs) From 9d780b03cbfa511b9d94839f326fdbf834d8dadf Mon Sep 17 00:00:00 2001 From: Heroman Date: Thu, 15 Aug 2019 12:31:07 +1000 Subject: [PATCH 38/40] Readjusts areas in security maint --- maps/tether/tether-07-station3.dmm | 328 +++++++++++++++-------------- 1 file changed, 172 insertions(+), 156 deletions(-) diff --git a/maps/tether/tether-07-station3.dmm b/maps/tether/tether-07-station3.dmm index 9a2985c8b0..fb1d231f76 100644 --- a/maps/tether/tether-07-station3.dmm +++ b/maps/tether/tether-07-station3.dmm @@ -2116,21 +2116,11 @@ /turf/simulated/floor, /area/maintenance/station/sec_upper) "dx" = ( -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/catwalk, -/obj/machinery/alarm{ - pixel_y = 22 - }, +/obj/machinery/door/airlock/maintenance/common, +/obj/effect/floor_decal/rust, +/obj/machinery/door/firedoor/glass, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/ai) "dy" = ( /turf/simulated/shuttle/wall/voidcraft/hard_corner, /area/shuttle/excursion/tether) @@ -2906,13 +2896,18 @@ /turf/simulated/wall, /area/security/security_equiptment_storage) "eU" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 1 +/obj/structure/catwalk, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 }, -/obj/structure/closet, -/obj/structure/railing{ - dir = 4 +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 }, /turf/simulated/floor, /area/maintenance/station/sec_upper) @@ -3191,7 +3186,10 @@ /turf/simulated/floor, /area/maintenance/station/ai) "fq" = ( -/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, /obj/structure/railing{ dir = 4 }, @@ -5022,6 +5020,18 @@ /turf/simulated/floor/tiled, /area/security/hallway) "iq" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, /turf/simulated/floor, /area/maintenance/station/sec_upper) "ir" = ( @@ -9967,7 +9977,14 @@ /turf/simulated/floor/tiled/white, /area/medical/surgery) "pT" = ( -/obj/structure/railing, +/obj/structure/catwalk, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass, /turf/simulated/floor, /area/maintenance/station/sec_upper) "pU" = ( @@ -10524,25 +10541,17 @@ /turf/simulated/floor/tiled, /area/security/hallway) "qT" = ( -/obj/structure/cable/green{ - icon_state = "32-2" - }, -/obj/structure/lattice, -/obj/structure/railing, -/turf/simulated/open, -/area/maintenance/station/sec_upper) +/turf/simulated/floor, +/area/maintenance/station/elevator) "qU" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor, /area/maintenance/station/sec_upper) "qV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/railing, +/obj/effect/floor_decal/rust, +/obj/effect/decal/cleanable/cobweb, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "qW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11048,23 +11057,16 @@ /turf/simulated/floor/plating, /area/crew_quarters/heads/cmo) "rD" = ( -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/catwalk, +/obj/structure/railing, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "rE" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 8; - icon_state = "1-8" +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 4 }, -/obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "rF" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11598,10 +11600,10 @@ /turf/simulated/floor/tiled, /area/security/security_processing) "so" = ( -/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, /obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "sp" = ( /turf/simulated/wall/r_wall, /area/hallway/station/upper) @@ -12178,16 +12180,12 @@ /area/security/hallway) "te" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" + icon_state = "32-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/catwalk, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) +/obj/structure/lattice, +/obj/structure/railing, +/turf/simulated/open, +/area/maintenance/station/elevator) "tf" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -12856,10 +12854,22 @@ /turf/simulated/floor/tiled, /area/security/hallway) "ue" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/simulated/floor/reinforced, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/excursion/tether) +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/random/maintenance/security, +/obj/random/maintenance/security, +/obj/random/maintenance/medical, +/obj/item/weapon/storage/box/lights/mixed, +/obj/structure/railing, +/obj/random/tool, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor, +/area/maintenance/station/elevator) "uf" = ( /obj/structure/cable{ d1 = 2; @@ -27578,22 +27588,13 @@ /turf/simulated/floor, /area/maintenance/station/sec_upper) "Re" = ( -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 4 }, -/obj/random/maintenance/security, -/obj/random/maintenance/security, -/obj/random/maintenance/medical, -/obj/item/weapon/storage/box/lights/mixed, /obj/structure/railing, -/obj/random/tool, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "Rf" = ( /obj/effect/floor_decal/borderfloor/corner2{ dir = 8 @@ -27637,10 +27638,9 @@ /turf/space, /area/space) "Rk" = ( -/obj/effect/floor_decal/rust, -/obj/effect/decal/cleanable/cobweb, +/obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "Rl" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -27754,10 +27754,10 @@ /turf/simulated/mineral/vacuum, /area/quartermaster/office) "Rv" = ( -/obj/machinery/door/airlock/maintenance/common, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/ai) +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/reinforced, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/excursion/tether) "Rw" = ( /obj/structure/catwalk, /obj/machinery/light/small{ @@ -27949,12 +27949,17 @@ /turf/simulated/floor, /area/maintenance/station/sec_upper) "RP" = ( -/obj/structure/catwalk, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) "RQ" = ( /obj/structure/closet/crate, /obj/random/drinkbottle, @@ -28180,39 +28185,30 @@ /turf/simulated/floor, /area/maintenance/station/ai) "St" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 1 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/machinery/power/apc{ - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) -"Su" = ( -/obj/structure/catwalk, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ +/obj/structure/cable/green{ d1 = 4; d2 = 8; - icon_state = "4-8"; - pixel_x = 0 + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/catwalk, +/obj/machinery/alarm{ + pixel_y = 22 }, /turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/maintenance/station/elevator) +"Su" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/station/elevator) "Sv" = ( /obj/structure/catwalk, /obj/effect/floor_decal/rust, @@ -28236,6 +28232,7 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass, /turf/simulated/floor, /area/maintenance/cargo) "Sx" = ( @@ -28409,6 +28406,25 @@ }, /turf/simulated/floor/tiled/monotile, /area/tether/exploration) +"SL" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/station/elevator) +"SM" = ( +/obj/effect/floor_decal/rust, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/station/elevator) +"SN" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/station/elevator) "SP" = ( /obj/structure/table/woodentable, /obj/item/device/taperecorder{ @@ -37227,7 +37243,7 @@ eX lC lC mH -te +RP mH mH mH @@ -37369,8 +37385,8 @@ eX lC lC mH -dx -so +St +SN tk uf uW @@ -37511,8 +37527,8 @@ pr lC lC mH -rD -af +Su +tl tl ug tl @@ -37653,8 +37669,8 @@ le mH mH mH -rD -af +Su +tl tm uh uX @@ -37792,11 +37808,11 @@ mm SF oL le -iq -af qT -rE -af +tl +te +SL +tl tn tn tn @@ -37934,11 +37950,11 @@ nS om oI le -af -af -Re -fc -af +tl +tl +ue +Rk +tl tn ui ui @@ -38076,11 +38092,11 @@ nT on oM le -Rk -fq qV -fc -af +rE +Re +Rk +tl tn ui ui @@ -38218,11 +38234,11 @@ nU oo oN le -pT -dw -fc -mR -af +rD +so +Rk +SM +tl tn ui ui @@ -38363,8 +38379,8 @@ af aI qn aI -aI -af +yz +tl tn ui ui @@ -38779,7 +38795,7 @@ ku kJ aI mR -St +fq aI aI aI @@ -38919,10 +38935,10 @@ RE RH RH RH -RH -RH -Su eU +RH +iq +RO aI ab ab @@ -39063,8 +39079,8 @@ be be be be -RP -RO +aI +pT aI ab ab @@ -39767,7 +39783,7 @@ it di di dy -ue +Rv cK cK ms @@ -39909,7 +39925,7 @@ iK jY kn di -ue +Rv cK cK ms @@ -40051,7 +40067,7 @@ iK jY kn di -ue +Rv cK cK ms @@ -40903,7 +40919,7 @@ eb ka ky di -ue +Rv cK cK ms @@ -41045,7 +41061,7 @@ jf kj kQ di -ue +Rv cK cK ms @@ -41187,7 +41203,7 @@ jr kk kR dy -ue +Rv cK cK ms @@ -42175,7 +42191,7 @@ dV eI fp mT -Rv +dx Rx dV fy From b2f2d12da666416c4a24498101dc60b546bf8afc Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 17 Aug 2019 06:53:04 +1000 Subject: [PATCH 39/40] Fixes borgs not starting with their sizes set --- code/modules/mob/transform_procs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 8bcfbef968..6f05b298e6 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -182,7 +182,7 @@ var/datum/preferences/B = O.client.prefs for(var/language in B.alternate_languages) O.add_language(language) - O.resize(B.size_multiplier, animate = FALSE) //VOREStation Addition: add size prefs to borgs + O.resize(B.size_multiplier, animate = TRUE) //VOREStation Addition: add size prefs to borgs O.fuzzy = B.fuzzy //VOREStation Addition: add size prefs to borgs callHook("borgify", list(O)) From 8872a08a1a43f250936453b2b4661a22e7f6383e Mon Sep 17 00:00:00 2001 From: Heroman Date: Sat, 17 Aug 2019 09:24:57 +1000 Subject: [PATCH 40/40] Fixes bugs with suit sensors and tether levels --- .../file_system/programs/medical/suit_sensors.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm index c769fe21e2..668d3f81e2 100644 --- a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm +++ b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm @@ -39,11 +39,13 @@ data["isAI"] = isAI(user) data["map_levels"] = using_map.get_map_levels(T.z, FALSE) data["crewmembers"] = list() - for(var/z in (data["map_levels"] | T.z)) // Always show crew from the current Z even if we can't show a map + for(var/z in data["map_levels"]) // VOREStation Edit data["crewmembers"] += crew_repository.health_data(z) if(!data["map_levels"].len) to_chat(user, "The crew monitor doesn't seem like it'll work here.") + if(ui) // VOREStation Addition + ui.close() // VOREStation Addition return ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)