From 476c8f2fcd9f91e522f1f6a3d2c0942c50e66e4a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 21 Jun 2013 19:03:12 -0700 Subject: [PATCH 01/31] Fix for destroying alien walls with your bare hands. --- code/game/objects/effects/aliens.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 523e0ff72eb..1e762e68b3f 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -110,6 +110,11 @@ for(var/mob/O in oviewers(src)) O.show_message("\red [usr] destroys the [name]!", 1) health = 0 + else + usr << "\blue You claw at the [name]." + for(var/mob/O in oviewers(src)) + O.show_message("\red [usr] claws at the [name]!", 1) + health -= rand(5,10) healthcheck() return From 9591c3773ec2d05eeaff0a4c5330bc28fee5ddb6 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 21 Jun 2013 20:12:23 -0700 Subject: [PATCH 02/31] Maploader improvements: Now skips space tiles, properly parses lists, commented and cleaned up. beach.dmm is now unescapable. Fixes #3114 --- baystation12.dme | 8 +- code/WorkInProgress/Mini/atmos_control.dm | 2 +- code/controllers/master_controller.dm | 3 +- code/modules/awaymissions/maploader/reader.dm | 251 -------- code/modules/awaymissions/zlevel.dm | 2 +- .../maploader => maps}/dmm_suite.dm | 5 +- code/modules/maps/reader.dm | 325 ++++++++++ .../maploader => maps}/swapmaps.dm | 0 .../maploader => maps}/writer.dm | 0 maps/RandomZLevels/beach.dmm | 64 +- maps/oldstation.dmm | 567 +++++++++--------- 11 files changed, 651 insertions(+), 576 deletions(-) delete mode 100644 code/modules/awaymissions/maploader/reader.dm rename code/modules/{awaymissions/maploader => maps}/dmm_suite.dm (94%) create mode 100644 code/modules/maps/reader.dm rename code/modules/{awaymissions/maploader => maps}/swapmaps.dm (100%) rename code/modules/{awaymissions/maploader => maps}/writer.dm (100%) diff --git a/baystation12.dme b/baystation12.dme index b553a7a35bf..c9e41c74def 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -727,10 +727,6 @@ #include "code\modules\awaymissions\pamphlet.dm" #include "code\modules\awaymissions\trigger.dm" #include "code\modules\awaymissions\zlevel.dm" -#include "code\modules\awaymissions\maploader\dmm_suite.dm" -#include "code\modules\awaymissions\maploader\reader.dm" -#include "code\modules\awaymissions\maploader\swapmaps.dm" -#include "code\modules\awaymissions\maploader\writer.dm" #include "code\modules\client\client defines.dm" #include "code\modules\client\client procs.dm" #include "code\modules\client\preferences.dm" @@ -828,6 +824,10 @@ #include "code\modules\library\lib_machines.dm" #include "code\modules\library\lib_readme.dm" #include "code\modules\liquid\splash_simulation.dm" +#include "code\modules\maps\dmm_suite.dm" +#include "code\modules\maps\reader.dm" +#include "code\modules\maps\swapmaps.dm" +#include "code\modules\maps\writer.dm" #include "code\modules\mining\machine_input_output_plates.dm" #include "code\modules\mining\machine_processing.dm" #include "code\modules\mining\machine_stacking.dm" diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm index 15dd1c7fe95..f9986d50e72 100644 --- a/code/WorkInProgress/Mini/atmos_control.dm +++ b/code/WorkInProgress/Mini/atmos_control.dm @@ -1,6 +1,6 @@ /obj/item/weapon/circuitboard/atmoscontrol name = "\improper Central Atmospherics Computer Circuitboard" - build_path = "/obj/machinery/computer/security/atmoscontrol" + build_path = /obj/machinery/computer/atmoscontrol /obj/machinery/computer/atmoscontrol name = "\improper Central Atmospherics Computer" diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 3633cda3748..b252163b03d 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -51,7 +51,8 @@ datum/controller/game_controller/New() datum/controller/game_controller/proc/setup() world.tick_lag = config.Ticklag - createRandomZlevel() + spawn(20) + createRandomZlevel() if(!air_master) air_master = new /datum/controller/air_system() diff --git a/code/modules/awaymissions/maploader/reader.dm b/code/modules/awaymissions/maploader/reader.dm deleted file mode 100644 index 0fc8004787a..00000000000 --- a/code/modules/awaymissions/maploader/reader.dm +++ /dev/null @@ -1,251 +0,0 @@ -// -dmm_suite{ - load_map(var/dmm_file as file, var/z_offset as num){ - if(!z_offset){ - z_offset = world.maxz+1 - } - var/quote = ascii2text(34) - var/tfile = file2text(dmm_file) - var/tfile_len = length(tfile) - var/list/grid_models[0] - var/key_len = length(copytext(tfile,2,findtext(tfile,quote,2,0))) - for(var/lpos=1;lposlength(zgrid)){break} - sleep(-1) - } - if(findtext(tfile,quote+"}",zpos,0)+2>=tfile_len){break} - sleep(-1) - } - } - proc{ - parse_grid(var/model as text,var/xcrd as num,var/ycrd as num,var/zcrd as num){ - /*Method parse_grid() - - Accepts a text string containing a comma separated list of type paths of the - same construction as those contained in a .dmm file, and instantiates them. - */ - var/list/text_strings[0] - for(var/index=1;findtext(model,quote);index++){ - /*Loop: Stores quoted portions of text in text_strings, and replaces them with an - index to that list. - - Each iteration represents one quoted section of text. - */ - text_strings.len=index - text_strings[index] = copytext(model,findtext(model,quote)+1,findtext(model,quote,findtext(model,quote)+1,0)) - model = copytext(model,1,findtext(model,quote))+"~[index]"+copytext(model,findtext(model,quote,findtext(model,quote)+1,0)+1,0) - sleep(-1) - } - var/list/old_turf_underlays[0] - var/old_turf_density - var/old_turf_opacity - /*The old_turf variables store information about turfs instantiated in this location/iteration. - This is done to approximate the layered turf effect of DM's map editor. - An image of each turf is stored in old_turf_underlays[], and is later added to the new turf's underlays. - */ - for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1){ - /*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields. - - Each iteration represents one object's data, including type path and field values. - */ - var/full_def = copytext(model,dpos,findtext(model,",",dpos,0)) - var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{"))) - var/list/attributes[0] - if(findtext(full_def,"{")){ - full_def = copytext(full_def,1,length(full_def)) - for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1){ - //Loop: Identifies each attribute/value pair, and stores it in attributes[]. - attributes.Add(copytext(full_def,apos,findtext(full_def,";",apos,0))) - if(!findtext(copytext(full_def,apos,0),";")){break} - sleep(-1) - } - } - //Construct attributes associative list - var/list/fields = new(0) - for(var/index=1;index<=attributes.len;index++){ - var/trim_left = trim_text(copytext(attributes[index],1,findtext(attributes[index],"="))) - var/trim_right = trim_text(copytext(attributes[index],findtext(attributes[index],"=")+1,0)) - //Check for string - if(findtext(trim_right,"~")){ - var/reference_index = copytext(trim_right,findtext(trim_right,"~")+1,0) - trim_right=text_strings[text2num(reference_index)] - } - //Check for number - else if(isnum(text2num(trim_right))){ - trim_right = text2num(trim_right) - } - //Check for file - else if(copytext(trim_right,1,2) == "'"){ - trim_right = file(copytext(trim_right,2,length(trim_right))) - } - fields[trim_left] = trim_right - } - //End construction - - - //Begin Instanciation - var/atom/instance - var/dmm_suite/preloader/_preloader = new(fields) - if(ispath(atom_def,/area)){ - instance = locate(atom_def) - instance.contents.Add(locate(xcrd,ycrd,zcrd)) - } - else if(ispath(atom_def,/turf)){ - var/turf/old_turf = locate(xcrd,ycrd,zcrd) - if(old_turf.density){old_turf_density = 1} - if(old_turf.opacity){old_turf_opacity = 1} - if(old_turf.icon){ - var/image/old_turf_image = image(old_turf.icon,null,old_turf.icon_state,old_turf.layer,old_turf.dir) - old_turf_underlays.Add(old_turf_image) - } - instance = new atom_def(old_turf, _preloader) - for(var/inverse_index=old_turf_underlays.len;inverse_index;inverse_index--){ - var/image/image_underlay = old_turf_underlays[inverse_index] - image_underlay.loc = instance - instance.underlays.Add(image_underlay) - } - if(!instance.density){instance.density = old_turf_density} - if(!instance.opacity){instance.opacity = old_turf_opacity} - } - - if(_preloader && instance){ - _preloader.load(instance) - } - //End Instanciation - if(!findtext(copytext(model,dpos,0),",")){break} - sleep(-1) - } -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1) - { - /*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields. - - Each iteration represents one object's data, including type path and field values. - */ - var/full_def = copytext(model,dpos,findtext(model,",",dpos,0)) - var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{"))) - var/list/attributes[0] - if(findtext(full_def,"{")){ - full_def = copytext(full_def,1,length(full_def)) - for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1){ - //Loop: Identifies each attribute/value pair, and stores it in attributes[]. - attributes.Add(copytext(full_def,apos,findtext(full_def,";",apos,0))) - if(!findtext(copytext(full_def,apos,0),";")){break} - sleep(-1) - } - } - //Construct attributes associative list - var/list/fields = new(0) - for(var/index=1;index<=attributes.len;index++){ - var/trim_left = trim_text(copytext(attributes[index],1,findtext(attributes[index],"="))) - var/trim_right = trim_text(copytext(attributes[index],findtext(attributes[index],"=")+1,0)) - //Check for string - if(findtext(trim_right,"~")){ - var/reference_index = copytext(trim_right,findtext(trim_right,"~")+1,0) - trim_right=text_strings[text2num(reference_index)] - } - //Check for number - else if(isnum(text2num(trim_right))){ - trim_right = text2num(trim_right) - } - //Check for file - else if(copytext(trim_right,1,2) == "'"){ - trim_right = file(copytext(trim_right,2,length(trim_right))) - } - fields[trim_left] = trim_right - } - //End construction - - - //Begin Instanciation - var/atom/instance - var/dmm_suite/preloader/_preloader = new(fields) - if(!ispath(atom_def,/area) && !ispath(atom_def,/turf)) - { - instance = new atom_def(locate(xcrd,ycrd,zcrd), _preloader) - } - - - if(_preloader && instance) - { - _preloader.load(instance) - } - //End Instanciation - if(!findtext(copytext(model,dpos,0),",")){break} - sleep(-1) - } - - - - - } - trim_text(var/what as text){ - while(length(what) && findtext(what," ",1,2)){ - what=copytext(what,2,0) - } - while(length(what) && findtext(what," ",length(what),0)){ - what=copytext(what,1,length(what)) - } - return what - } - } - } -atom/New(atom/loc, dmm_suite/preloader/_dmm_preloader){ - if(istype(_dmm_preloader, /dmm_suite/preloader)){ - _dmm_preloader.load(src) - } - . = ..() - } -dmm_suite{ - preloader{ - parent_type = /datum - var{ - list/attributes - } - New(list/the_attributes){ - .=..() - if(!the_attributes.len){ Del()} - attributes = the_attributes - } - proc{ - load(atom/what){ - for(var/attribute in attributes){ - what.vars[attribute] = attributes[attribute] - } - Del() - } - } - } - } - diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index 75454872bf4..d76d9d676b3 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -40,7 +40,7 @@ proc/createRandomZlevel() var/map = pick(potentialRandomZlevels) var/file = file(map) if(isfile(file)) - maploader.load_map(file) + maploader.load_map(file, load_speed = 100) for(var/obj/effect/landmark/L in landmarks_list) if (L.name != "awaystart") diff --git a/code/modules/awaymissions/maploader/dmm_suite.dm b/code/modules/maps/dmm_suite.dm similarity index 94% rename from code/modules/awaymissions/maploader/dmm_suite.dm rename to code/modules/maps/dmm_suite.dm index e2311ed7eee..87de0e758e5 100644 --- a/code/modules/awaymissions/maploader/dmm_suite.dm +++ b/code/modules/maps/dmm_suite.dm @@ -53,10 +53,11 @@ dmm_suite{ */ - verb/load_map(var/dmm_file as file, var/z_offset as num){ + verb/load_map(var/dmm_file as file, var/z_offset as num, var/load_speed as num) // dmm_file: A .dmm file to load (Required). // z_offset: A number representing the z-level on which to start loading the map (Optional). - } + // load_speed: How many tiles should be loaded per second, defaults to no pause (Optional) + verb/write_map(var/turf/t1 as turf, var/turf/t2 as turf, var/flags as num){ // t1: A turf representing one corner of a three dimensional grid (Required). // t2: Another turf representing the other corner of the same grid (Required). diff --git a/code/modules/maps/reader.dm b/code/modules/maps/reader.dm new file mode 100644 index 00000000000..cc107abd04f --- /dev/null +++ b/code/modules/maps/reader.dm @@ -0,0 +1,325 @@ +dmm_suite + + var/debug_file = file("maploader_debug.txt") + + load_map(var/dmm_file as file, var/z_offset as num, var/y_offset as num, var/x_offset as num, var/load_speed = 0 as num) + if(!z_offset) + z_offset = world.maxz + 1 + + //Ensure values are sane. + else if(z_offset < 0) + z_offset = abs(z_offset) + else if(!isnum(z_offset)) + z_offset = 0 + + if(x_offset < 0) + x_offset = abs(x_offset) + else if(!isnum(x_offset)) + x_offset = 0 + + if(y_offset < 0) + y_offset = abs(y_offset) + else if(!isnum(y_offset)) + y_offset = 0 + + debug_file << "Starting Map Load @ ([x_offset], [y_offset], [z_offset]), [load_speed] tiles per second." + + //Handle slowed loading. + var/delay_chance = 0 + if(load_speed > 0) + //Chance out of 100 every tenth of a second. + delay_chance = 1000 / load_speed + + //String holding a quotation mark. + var/quote = ascii2text(34) + + var/input_file = file2text(dmm_file) + var/input_file_len = length(input_file) + + //Stores the contents of each tile model in the map + var/list/grid_models = list() + //Length of the tile model code. e.g. "aaa" is 3 long. + var/key_len = length(copytext(input_file, 2 ,findtext(input_file, quote, 2))) + //The key of the default tile model. (In SS13 this is: "/turf/space,/area") + var/default_key + + debug_file << " Building turf array." + + //Iterates through the mapfile to build the model tiles for the map. + for(var/line_position = 1; line_position < input_file_len; line_position = findtext(input_file,"\n", line_position) + 1) + var/next_line = copytext(input_file, line_position, findtext(input_file,"\n", line_position) - 1) + + //If the first character in the line is not a quote, the model tiles are all defined. + if(copytext(next_line, 1, 2) != quote) + break + + //Copy contents of the model into the grid_models list. + var/model_key = copytext(next_line, 2, findtext(input_file, quote, 2)) + var/model_contents = copytext(next_line, findtext(next_line, "=" ) + 3) + if(!default_key && model_contents == "[world.turf],[world.area]") + default_key = model_key + grid_models[model_key] = model_contents + if(prob(delay_chance)) + sleep(1) + + //Co-ordinates of the tile being loaded. + var/z_coordinate = -1 + var/y_coordinate = 0 + var/x_coordinate = 0 + + //Store the + var/y_depth = 0 + + //Iterate through all z-levels to load the tiles. + for(var/z_position = findtext(input_file, "\n(1,1,"); TRUE; z_position = findtext(input_file, "\n(1,1,", z_position + 1)) + //break when there are no more z-levels. + if(z_position == 0) + break + + //Increment the z_coordinate and update the world's borders + z_coordinate++ + world.maxz = max(world.maxz, z_coordinate + z_offset) + + //Here we go! + y_coordinate = 0 + y_depth = 0 + var/z_level = copytext(input_file, \ + findtext(input_file, quote + "\n", z_position) + 2,\ + findtext(input_file, "\n" + quote, z_position) + 1) + + //Iterate through each line, increasing the y_coordinate. + for(var/grid_position = 1; grid_position != 0; grid_position = findtext(z_level, "\n", grid_position) + 1) + //Grab this line of data. + var/grid_line = copytext(z_level, grid_position, findtext(z_level, "\n", grid_position)) + + //Compute the size of the z-levels y axis. + if(!y_depth) + y_depth = length(z_level) / (length(grid_line) + 1) + y_depth += y_offset + if(y_depth != round(y_depth, 1)) + debug_file << " Warning: y_depth is not a round number" + + //And update the worlds variables. + if(world.maxy < y_depth) + world.maxy = y_depth + //The top of the map is the highest "y" co-ordinate, so we start there and iterate downwards + if(!y_coordinate) + y_coordinate = y_depth + 1 + + //Decrement and load this line of the map. + y_coordinate-- + x_coordinate = x_offset + + //Iterate through the line loading the model tile data. + for(var/model_position = 1; model_position <= length(grid_line); model_position += key_len) + x_coordinate++ + + //Find the model key and load that model. + var/model_key = copytext(grid_line, model_position, model_position + key_len) + //If the key is the default one, skip it and save the computation time. + if(model_key == default_key) + continue + + if(world.maxx < x_coordinate) + world.maxx = x_coordinate + parse_grid(grid_models[model_key], x_coordinate, y_coordinate, z_coordinate + z_offset) + + if(prob(delay_chance)) + sleep(1) + + //If we hit the last tile in this z-level, we should break out of the loop. + if(grid_position + length(grid_line) + 1 > length(z_level)) + break + + //Break out of the loop when we hit the end of the file. + if(findtext(input_file, quote + "}", z_position) + 2 >= input_file_len) + break + + + proc/parse_grid(var/model as text, var/x_coordinate as num, var/y_coordinate as num, var/z_coordinate as num) + //Accepts a text string containing a comma separated list of type paths of the + // same construction as those contained in a .dmm file, and instantiates them. + + var/list/text_strings = list() + for(var/index = 1; findtext(model, quote); index++) + /*Loop: Stores quoted portions of text in text_strings, and replaces them with an + index to that list. + - Each iteration represents one quoted section of text. + */ + //Add the next section of quoted text to the list + var/first_quote = findtext(model, quote) + var/second_quote = findtext(model, quote, first_quote + 1) + var/quoted_chunk = copytext(model, first_quote + 1, second_quote) + text_strings += quoted_chunk + //Then remove the quoted section. + model = copytext(model, 1, first_quote) + "~[index]" + copytext(model, second_quote + 1) + + var/debug_output = 0 + //if(x_coordinate == 86 && y_coordinate == 88 && z_coordinate == 7) + // debug_output = 1 + + if(debug_output) + debug_file << " Now debugging turf: [model] ([x_coordinate], [y_coordinate], [z_coordinate])" + + var/next_position = 1 + for(var/data_position = 1, next_position || data_position != 1, data_position = next_position + 1) + next_position = findtext(model, ",/", data_position) + + var/full_def = copytext(model, data_position, next_position) + + if(debug_output) + debug_file << " Current Line: [full_def] -- ([data_position] - [next_position])" + + /*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields. + - Each iteration represents one object's data, including type path and field values. + */ + + //Load the attribute data. + var/attribute_position = findtext(full_def,"{") + var/atom_def = text2path(copytext(full_def, 1, attribute_position)) + + var/list/attributes = list() + if(attribute_position) + full_def = copytext(full_def, attribute_position + 1) + if(debug_output) + debug_file << " Atom Def: [atom_def]" + debug_file << " Parameters: [full_def]" + + var/next_attribute = 1 + for(attribute_position = 1, next_attribute || attribute_position != 1, attribute_position = next_attribute + 1) + next_attribute = findtext(full_def, ";", attribute_position) + + //Loop: Identifies each attribute/value pair, and stores it in attributes[]. + attributes += copytext(full_def, attribute_position, next_attribute) + + //Construct attributes associative list + var/list/fields = list() + for(var/attribute in attributes) + var/trim_left = trim_text(copytext(attribute, 1, findtext(attribute, "="))) + var/trim_right = trim_text(copytext(attribute, findtext(attribute, "=") + 1)) + + if(findtext(trim_right, "list(")) + trim_right = get_list(trim_right, text_strings) + + else if(findtext(trim_right, "~"))//Check for strings + while(findtext(trim_right,"~")) + var/reference_index = copytext(trim_right, findtext(trim_right, "~") + 1) + trim_right = text_strings[text2num(reference_index)] + + //Check for numbers + else if(isnum(text2num(trim_right))) + trim_right = text2num(trim_right) + + //Check for file + else if(copytext(trim_right,1,2) == "'") + trim_right = file(copytext(trim_right, 2, length(trim_right))) + + fields[trim_left] = trim_right + sleep(-1) + + + if(debug_output) + var/return_data = " Debug Fields:" + for(var/item in fields) + return_data += " [item] = [fields[item]];" + debug_file << return_data + + //Begin Instanciation + var/atom/instance + + if(ispath(atom_def,/area)) + instance = locate(atom_def) + if(!istype(instance, atom_def)) + instance = new atom_def + instance.contents.Add(locate(x_coordinate,y_coordinate,z_coordinate)) + + else + instance = new atom_def(locate(x_coordinate,y_coordinate,z_coordinate)) + if(instance) + for(var/item in fields) + instance.vars[item] = fields[item] + else if(!(atom_def in borked_paths)) + borked_paths += atom_def + var/return_data = " Failure [atom_def] @ ([x_coordinate], [y_coordinate], [z_coordinate]) fields:" + for(var/item in fields) + return_data += " [item] = [fields[item]];" + debug_file << return_data + + sleep(-1) + return 1 + + var/list/borked_paths = list() + + proc/trim_text(var/what as text) + while(length(what) && findtext(what, " ", 1, 2)) + what = copytext(what, 2) + + while(length(what) && findtext(what, " ", length(what))) + what = copytext(what, 1, length(what)) + + return what + + proc/get_list(var/text, var/list/text_strings) + //First, trim the data to just the list contents + var/list_start = findtext(text, "(") + 1 + var/list_end = findtext(text, ")", list_start) + var/list_contents = copytext(text, list_start, list_end) + + //Then, we seperate it into the individual entries + + var/list/entries = list() + var/entry_end = 1 + + for(var/entry_start = 1, entry_end || entry_start != 1, entry_start = entry_end + 1) + entry_end = findtext(list_contents, ",", entry_start) + entries += copytext(list_contents, entry_start, entry_end) + + //Finally, we assemble the completed list. + var/list/final_list = list() + for(var/entry in entries) + var/equals_position = findtext(entry, "=") + + if(equals_position) + var/trim_left = trim_text(copytext(entry, 1, equals_position)) + var/trim_right = trim_text(copytext(entry, equals_position + 1)) + + if(findtext(trim_right, "list(")) + trim_right = get_list(trim_right, text_strings) + + else if(findtext(trim_right, "~"))//Check for strings + while(findtext(trim_right,"~")) + var/reference_index = copytext(trim_right, findtext(trim_right, "~") + 1) + trim_right = text_strings[text2num(reference_index)] + + //Check for numbers + else if(isnum(text2num(trim_right))) + trim_right = text2num(trim_right) + + //Check for file + else if(copytext(trim_right,1,2) == "'") + trim_right = file(copytext(trim_right, 2, length(trim_right))) + + if(findtext(trim_left, "~"))//Check for strings + while(findtext(trim_left,"~")) + var/reference_index = copytext(trim_left, findtext(trim_left, "~") + 1) + trim_left = text_strings[text2num(reference_index)] + + final_list[trim_left] = trim_right + + else + if(findtext(entry, "~"))//Check for strings + while(findtext(entry, "~")) + var/reference_index = copytext(entry, findtext(entry, "~") + 1) + entry = text_strings[text2num(reference_index)] + + //Check for numbers + else if(isnum(text2num(entry))) + entry = text2num(entry) + + //Check for file + else if(copytext(entry, 1, 2) == "'") + entry = file(copytext(entry, 2, length(entry))) + + final_list += entry + + return final_list \ No newline at end of file diff --git a/code/modules/awaymissions/maploader/swapmaps.dm b/code/modules/maps/swapmaps.dm similarity index 100% rename from code/modules/awaymissions/maploader/swapmaps.dm rename to code/modules/maps/swapmaps.dm diff --git a/code/modules/awaymissions/maploader/writer.dm b/code/modules/maps/writer.dm similarity index 100% rename from code/modules/awaymissions/maploader/writer.dm rename to code/modules/maps/writer.dm diff --git a/maps/RandomZLevels/beach.dmm b/maps/RandomZLevels/beach.dmm index 3e286400946..470a068cbdf 100644 --- a/maps/RandomZLevels/beach.dmm +++ b/maps/RandomZLevels/beach.dmm @@ -1,8 +1,8 @@ "a" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/awaymission/beach) -"b" = (/turf/unsimulated/beach/sand,/area/awaymission/beach) -"c" = (/obj/machinery/gateway{dir = 9},/turf/unsimulated/beach/sand,/area/awaymission/beach) -"d" = (/obj/machinery/gateway{dir = 1},/turf/unsimulated/beach/sand,/area/awaymission/beach) -"e" = (/obj/machinery/gateway{dir = 5},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"b" = (/obj/machinery/gateway{dir = 9},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"c" = (/obj/machinery/gateway{dir = 1},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"d" = (/obj/machinery/gateway{dir = 5},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"e" = (/turf/unsimulated/beach/sand,/area/awaymission/beach) "f" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/awaymission/beach) "g" = (/obj/machinery/gateway{dir = 8},/turf/unsimulated/beach/sand,/area/awaymission/beach) "h" = (/obj/machinery/gateway/centeraway,/turf/unsimulated/beach/sand,/area/awaymission/beach) @@ -39,35 +39,35 @@ "M" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/awaymission/beach) "N" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/awaymission/beach) "O" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/awaymission/beach) -"P" = (/turf/unsimulated/beach/coastline,/area/awaymission/beach) -"Q" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/awaymission/beach) -"R" = (/turf/unsimulated/beach/water,/area/awaymission/beach) -"S" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/awaymission/beach) +"P" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/awaymission/beach) +"Q" = (/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"R" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/awaymission/beach) +"S" = (/turf/unsimulated/beach/water,/area/awaymission/beach) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -bcdebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfba -bghibbbbjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba -bklmbbbbbbbbnoooooooooopbbqrqrqrqrqrqrqa -bbbbbbbbbbbbstuvwxyzABCsbbbbbbbbbbbbbbba -bbbbbbbbbbbbDEEEEEEEEEEsbbbbbbbbbbbbbbba -bbbbbbbbbbbbFEEEEEEEEEEsbbbbbbbbbGbbbbba -bbfbbbbbbbbbHxIxxxxxxxxDbbbGbbJbbbbbbbba -bbbbbbbbbbbbbKKKKKKKKKKbbbbbbbbbbbbbbbba -bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba -bbbLbbbbbbbbbbbbbbbbbbbbbbbbbbbfbbbbbbba -bbbbbbGMbbbbbbbbbbbbbbGbbbbbNbbbMbbbbbfa -bbbJbbbbbbLbbObObObObObObbbbbbbbbbObObba -bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba -PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQ -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS +abcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefea +aghieeeejeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea +aklmeeeeeeeenoooooooooopeeqrqrqrqrqrqrqa +aeeeeeeeeeeestuvwxyzABCseeeeeeeeeeeeeeea +aeeeeeeeeeeeDEEEEEEEEEEseeeeeeeeeeeeeeea +aeeeeeeeeeeeFEEEEEEEEEEseeeeeeeeeGeeeeea +aefeeeeeeeeeHxIxxxxxxxxDeeeGeeJeeeeeeeea +aeeeeeeeeeeeeKKKKKKKKKKeeeeeeeeeeeeeeeea +aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea +aeeLeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeea +aeeeeeGMeeeeeeeeeeeeeeGeeeeeNeeeMeeeeefa +aeeJeeeeeeLeeOeOeOeOeOeOeeeeeeeeeeOeOeea +aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea +PQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQP +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR "} diff --git a/maps/oldstation.dmm b/maps/oldstation.dmm index cdc5f7da48f..df3b736578d 100644 --- a/maps/oldstation.dmm +++ b/maps/oldstation.dmm @@ -395,7 +395,7 @@ "hE" = (/turf/simulated/floor,/area) "hF" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/derelict/storage/equipment) "hG" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/packageWrap,/obj/item/device/flashlight,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/storage/equipment) -"hH" = (/obj/structure/table,/obj/item/weapon/storage/gl_kit,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/equipment) +"hH" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/equipment) "hI" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/derelict/storage/equipment) "hJ" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/derelict/storage/equipment) "hK" = (/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/storage/equipment) @@ -404,7 +404,7 @@ "hN" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/crew_quarters/captain) "hO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/crew_quarters/captain) "hP" = (/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/crew_quarters/captain) -"hQ" = (/obj/item/weapon/storage/handcuff_kit,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/captain) +"hQ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/captain) "hR" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor,/area/derelict/arrival) "hS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/storage/equipment) "hT" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/equipment) @@ -559,7 +559,7 @@ "kM" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/scan_consolenew,/turf/simulated/floor,/area/medical/genetics) "kN" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/dna_scannernew,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/genetics) "kO" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/floor,/area/medical/genetics) -"kP" = (/obj/structure/table,/obj/item/weapon/storage/diskbox,/turf/simulated/floor,/area/medical/genetics) +"kP" = (/obj/structure/table,/turf/simulated/floor,/area/medical/genetics) "kQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/storage/equipment) "kR" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival) "kS" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area) @@ -818,254 +818,253 @@ "pL" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) "pM" = (/obj/machinery/computer/secure_data,/turf/simulated/floor,/area/security/brig) "pN" = (/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/turf/simulated/floor,/area/security/brig) -"pO" = (/obj/item/weapon/storage/trackimp_kit,/turf/simulated/floor,/area/security/brig) -"pP" = (/obj/item/weapon/paper_bin,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) -"pQ" = (/obj/item/device/flashlight,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) -"pR" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/ears/earmuffs,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) -"pS" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor,/area/security/brig) -"pT" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/toxins/lab) -"pU" = (/obj/structure/grille,/turf/simulated/floor,/area/toxins/lab) -"pV" = (/obj/machinery/door/window/eastright,/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/crew_quarters) -"pW" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/crew_quarters) -"pX" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/crew_quarters) -"pY" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters) -"pZ" = (/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen,/obj/item/weapon/weldingtool,/obj/item/clothing/gloves/black,/turf/simulated/floor,/area/crew_quarters) -"qa" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chef"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) -"qb" = (/obj/item/weapon/storage/backpack,/turf/simulated/floor,/area/crew_quarters) -"qc" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/atmos) -"qd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor,/area/atmos) -"qe" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/atmos) -"qf" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/clipboard,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/security/brig) -"qg" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor,/area/security/brig) -"qh" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) -"qi" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/security/brig) -"qj" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/security/brig) -"qk" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor,/area/security/brig) -"ql" = (/obj/structure/closet/wardrobe/orange,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) -"qm" = (/obj/machinery/door/poddoor{id = "bd1"; name = "Vent"},/turf/simulated/floor{icon_state = "shiny"},/area/toxins/lab) -"qn" = (/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/derelict/arrival) -"qo" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/arrival) -"qp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) -"qq" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/crew_quarters) -"qr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) -"qs" = (/obj/structure/grille,/turf/simulated/floor,/area/atmos) -"qt" = (/obj/machinery/door/poddoor{id = "vent1"; name = "Vent Hatch"},/turf/simulated/floor,/area/atmos) -"qu" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos) -"qv" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/atmos) -"qw" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary) -"qx" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/derelict/arrival) -"qy" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/arrival) -"qz" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/arrival) -"qA" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"qB" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"qC" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) -"qD" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor,/area/atmos) -"qE" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/simulated/floor,/area/atmos) -"qF" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) -"qG" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/turf/simulated/floor,/area/atmos) -"qH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) -"qI" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"qJ" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/atmos) -"qK" = (/turf/simulated/wall/r_wall,/area/atmos) -"qL" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"qM" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/atmos) -"qN" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/hallway/secondary) -"qO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"qP" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) -"qQ" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qR" = (/turf/simulated/floor,/area/derelict/storage/storage_access) -"qS" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qT" = (/turf/simulated/wall,/area/derelict/storage/storage_access) -"qU" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qV" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qW" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) -"qY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) -"qZ" = (/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/storage/storage_access) -"ra" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos) -"rb" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/atmos) -"rc" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/atmos) -"rd" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/atmos) -"re" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rf" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"rg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rh" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"ri" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rj" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rk" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/door_control{id = "vent1"; pixel_x = -24},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/atmos) -"rl" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/atmos) -"rm" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/atmos) -"rn" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/atmos) -"ro" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/atmos) -"rp" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/atmos) -"rq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rr" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"rs" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/derelict/hallway/secondary) -"rt" = (/obj/machinery/door/window/eastleft{req_access_txt = "1"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"ru" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rv" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rw" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rx" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/derelict/storage/storage_access) -"ry" = (/obj/machinery/door_control{id = "ventintake"; pixel_x = -24},/turf/simulated/floor,/area/atmos) -"rz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos) -"rA" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) -"rB" = (/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/atmos) -"rC" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos) -"rD" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor,/area/atmos) -"rE" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rF" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rI" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) -"rJ" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/device/multitool,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rK" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rL" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rM" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rN" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rO" = (/obj/structure/closet/emcloset/legacy,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) -"rQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) -"rR" = (/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/atmospheric_technician,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/atmos) -"rS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rT" = (/obj/machinery/door/airlock{req_access_txt = "12"},/turf/simulated/floor,/area/derelict/storage/storage_access) -"rU" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rV" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/atmos) -"rW" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor,/area/atmos) -"rX" = (/obj/item/weapon/paper_bin,/turf/simulated/floor,/area/atmos) -"rY" = (/obj/item/weapon/clipboard,/turf/simulated/floor,/area/atmos) -"rZ" = (/obj/structure/table,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"sa" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos) -"sb" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"sc" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"sd" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"se" = (/obj/machinery/door/airlock{req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sg" = (/obj/machinery/door/window/eastleft{req_access_txt = "10"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sh" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/derelict/storage/storage_access) -"si" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sj" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sk" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/atmos) -"sl" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) -"sm" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/atmos) -"sn" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) -"so" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/atmos) -"sp" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/atmos) -"sq" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light,/turf/simulated/floor,/area/atmos) -"sr" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/device/t_scanner,/obj/item/device/assembly/signaler,/turf/simulated/floor,/area/atmos) -"ss" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/atmos) -"st" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"su" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"sv" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sw" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sx" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/storage/storage_access) -"sy" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sz" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sA" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/simulated/floor,/area/atmos) -"sB" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor,/area/atmos) -"sC" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) -"sD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/derelict/hallway/secondary) -"sE" = (/obj/machinery/power/terminal,/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) -"sF" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sG" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sH" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sI" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sJ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sK" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sL" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sM" = (/obj/structure/table,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sN" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos) -"sO" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/machinery/light,/turf/simulated/floor,/area/atmos) -"sP" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/device/flashlight,/turf/simulated/floor,/area/atmos) -"sQ" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) -"sR" = (/obj/structure/window/reinforced{dir = 5},/turf/space,/area) -"sS" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/hallway/secondary) -"sT" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sV" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) -"sW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"sX" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area) -"sY" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sZ" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area) -"ta" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"tb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tc" = (/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"td" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"te" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tf" = (/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tg" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"th" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"ti" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tj" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"tk" = (/obj/machinery/door/airlock{req_access_txt = "17"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"tm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"tn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"to" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"tp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) -"tq" = (/turf/simulated/wall/r_wall,/area/derelict/teleporter) -"tr" = (/turf/simulated/floor,/area/derelict/teleporter) -"ts" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/teleporter) -"tt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tu" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) -"tv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"ty" = (/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"tz" = (/obj/machinery/door/airlock{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tA" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/hallway/secondary) -"tB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"tC" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area) -"tD" = (/obj/machinery/computer/teleporter,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) -"tE" = (/obj/machinery/teleport/station,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) -"tF" = (/obj/machinery/teleport/hub,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) -"tG" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/teleporter) -"tH" = (/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) -"tJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) -"tK" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"tL" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/teleporter) -"tM" = (/obj/effect/landmark{name = "tripai"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tN" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tO" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tQ" = (/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"tR" = (/obj/structure/rack,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/prototypeEngineOffline,/obj/item/weapon/aiModule/safeguard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tS" = (/obj/structure/rack,/obj/item/weapon/aiModule/oneHuman,/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tT" = (/obj/structure/rack,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/quarantine,/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tU" = (/obj/structure/rack,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/reset,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tV" = (/obj/machinery/turret,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"tX" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tY" = (/obj/machinery/turret{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tZ" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/floor,/area/derelict/teleporter) -"ua" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/teleporter) -"ub" = (/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"uc" = (/obj/machinery/power/apc{pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"ud" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ue" = (/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uf" = (/obj/effect/landmark/start{name = "AI"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"ug" = (/obj/machinery/computer/aiupload,/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uh" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ui" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uj" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uk" = (/obj/machinery/turret{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ul" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"um" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"un" = (/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"uo" = (/obj/structure/rack,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"up" = (/obj/machinery/door/airlock{req_access_txt = "16"},/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uq" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ur" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"us" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"ut" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"uu" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"uv" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) -"uw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"ux" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"uy" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"uz" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"uA" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) -"uB" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"pO" = (/obj/item/weapon/paper_bin,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) +"pP" = (/obj/item/device/flashlight,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) +"pQ" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/ears/earmuffs,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) +"pR" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor,/area/security/brig) +"pS" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/toxins/lab) +"pT" = (/obj/structure/grille,/turf/simulated/floor,/area/toxins/lab) +"pU" = (/obj/machinery/door/window/eastright,/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/crew_quarters) +"pV" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/crew_quarters) +"pW" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/crew_quarters) +"pX" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters) +"pY" = (/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen,/obj/item/weapon/weldingtool,/obj/item/clothing/gloves/black,/turf/simulated/floor,/area/crew_quarters) +"pZ" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chef"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) +"qa" = (/obj/item/weapon/storage/backpack,/turf/simulated/floor,/area/crew_quarters) +"qb" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/atmos) +"qc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor,/area/atmos) +"qd" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/atmos) +"qe" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/clipboard,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/security/brig) +"qf" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor,/area/security/brig) +"qg" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) +"qh" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/security/brig) +"qi" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/security/brig) +"qj" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor,/area/security/brig) +"qk" = (/obj/structure/closet/wardrobe/orange,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) +"ql" = (/obj/machinery/door/poddoor{id = "bd1"; name = "Vent"},/turf/simulated/floor{icon_state = "shiny"},/area/toxins/lab) +"qm" = (/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/derelict/arrival) +"qn" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/arrival) +"qo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) +"qp" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/crew_quarters) +"qq" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) +"qr" = (/obj/structure/grille,/turf/simulated/floor,/area/atmos) +"qs" = (/obj/machinery/door/poddoor{id = "vent1"; name = "Vent Hatch"},/turf/simulated/floor,/area/atmos) +"qt" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos) +"qu" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/atmos) +"qv" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary) +"qw" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/derelict/arrival) +"qx" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/arrival) +"qy" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/arrival) +"qz" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"qA" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"qB" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) +"qC" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor,/area/atmos) +"qD" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/simulated/floor,/area/atmos) +"qE" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) +"qF" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/turf/simulated/floor,/area/atmos) +"qG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) +"qH" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"qI" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/atmos) +"qJ" = (/turf/simulated/wall/r_wall,/area/atmos) +"qK" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"qL" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/atmos) +"qM" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/hallway/secondary) +"qN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"qO" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) +"qP" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qQ" = (/turf/simulated/floor,/area/derelict/storage/storage_access) +"qR" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qS" = (/turf/simulated/wall,/area/derelict/storage/storage_access) +"qT" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qU" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qV" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) +"qX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) +"qY" = (/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/storage/storage_access) +"qZ" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos) +"ra" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/atmos) +"rb" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/atmos) +"rc" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/atmos) +"rd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"re" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"rf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"rg" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rh" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor,/area/derelict/storage/storage_access) +"ri" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rj" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/door_control{id = "vent1"; pixel_x = -24},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/atmos) +"rk" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/atmos) +"rl" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/atmos) +"rm" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/atmos) +"rn" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/atmos) +"ro" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/atmos) +"rp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"rq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"rr" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/derelict/hallway/secondary) +"rs" = (/obj/machinery/door/window/eastleft{req_access_txt = "1"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rt" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/derelict/storage/storage_access) +"ru" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rv" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rw" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rx" = (/obj/machinery/door_control{id = "ventintake"; pixel_x = -24},/turf/simulated/floor,/area/atmos) +"ry" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos) +"rz" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) +"rA" = (/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/atmos) +"rB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos) +"rC" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor,/area/atmos) +"rD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rE" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rH" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) +"rI" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/device/multitool,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rJ" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rK" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rL" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rM" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rN" = (/obj/structure/closet/emcloset/legacy,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) +"rP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) +"rQ" = (/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/atmospheric_technician,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/atmos) +"rR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"rS" = (/obj/machinery/door/airlock{req_access_txt = "12"},/turf/simulated/floor,/area/derelict/storage/storage_access) +"rT" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rU" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/atmos) +"rV" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor,/area/atmos) +"rW" = (/obj/item/weapon/paper_bin,/turf/simulated/floor,/area/atmos) +"rX" = (/obj/item/weapon/clipboard,/turf/simulated/floor,/area/atmos) +"rY" = (/obj/structure/table,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"rZ" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos) +"sa" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"sb" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"sc" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"sd" = (/obj/machinery/door/airlock{req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"se" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sf" = (/obj/machinery/door/window/eastleft{req_access_txt = "10"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sg" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sh" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/derelict/storage/storage_access) +"si" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sj" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/atmos) +"sk" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) +"sl" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/atmos) +"sm" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) +"sn" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/atmos) +"so" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/atmos) +"sp" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light,/turf/simulated/floor,/area/atmos) +"sq" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/device/t_scanner,/obj/item/device/assembly/signaler,/turf/simulated/floor,/area/atmos) +"sr" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/atmos) +"ss" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"st" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"su" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sw" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/storage/storage_access) +"sx" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sy" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sz" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/simulated/floor,/area/atmos) +"sA" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor,/area/atmos) +"sB" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) +"sC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/derelict/hallway/secondary) +"sD" = (/obj/machinery/power/terminal,/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) +"sE" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sF" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sG" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sH" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sI" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sJ" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sK" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sL" = (/obj/structure/table,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos) +"sN" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/machinery/light,/turf/simulated/floor,/area/atmos) +"sO" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/device/flashlight,/turf/simulated/floor,/area/atmos) +"sP" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) +"sQ" = (/obj/structure/window/reinforced{dir = 5},/turf/space,/area) +"sR" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/hallway/secondary) +"sS" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sU" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) +"sV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"sW" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area) +"sX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sY" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area) +"sZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"ta" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tb" = (/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tc" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"td" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) +"te" = (/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tf" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"th" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"ti" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"tj" = (/obj/machinery/door/airlock{req_access_txt = "17"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"tl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"tm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"tn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"to" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) +"tp" = (/turf/simulated/wall/r_wall,/area/derelict/teleporter) +"tq" = (/turf/simulated/floor,/area/derelict/teleporter) +"tr" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/teleporter) +"ts" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tt" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) +"tu" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tx" = (/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"ty" = (/obj/machinery/door/airlock{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tz" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/hallway/secondary) +"tA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"tB" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area) +"tC" = (/obj/machinery/computer/teleporter,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) +"tD" = (/obj/machinery/teleport/station,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) +"tE" = (/obj/machinery/teleport/hub,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) +"tF" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/teleporter) +"tG" = (/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) +"tI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) +"tJ" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"tK" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/teleporter) +"tL" = (/obj/effect/landmark{name = "tripai"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tM" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tN" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tP" = (/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"tQ" = (/obj/structure/rack,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/prototypeEngineOffline,/obj/item/weapon/aiModule/safeguard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tR" = (/obj/structure/rack,/obj/item/weapon/aiModule/oneHuman,/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tS" = (/obj/structure/rack,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/quarantine,/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tT" = (/obj/structure/rack,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/reset,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tU" = (/obj/machinery/turret,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"tW" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tX" = (/obj/machinery/turret{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tY" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/floor,/area/derelict/teleporter) +"tZ" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/teleporter) +"ua" = (/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"ub" = (/obj/machinery/power/apc{pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"uc" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ud" = (/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ue" = (/obj/effect/landmark/start{name = "AI"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"uf" = (/obj/machinery/computer/aiupload,/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ug" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uh" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ui" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uj" = (/obj/machinery/turret{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uk" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ul" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"um" = (/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"un" = (/obj/structure/rack,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uo" = (/obj/machinery/door/airlock{req_access_txt = "16"},/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"up" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uq" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ur" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"us" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"ut" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"uu" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) +"uv" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"uw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"ux" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"uy" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"uz" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) +"uA" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1148,42 +1147,42 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvnemQmvnWnXnY aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvotototmvnLoumvmvmvmvmvmvmvmvmvnHneovowneoxmvoyoyoyoyoyoyozoyoAoynBoBoCojoDoiojoEoioloFojoGnRoHjwlsnjlsoIoJoIoIjwhChChChCnsnshChCmYhCoKimfzaaksjzjTjTkukvmokxbhjkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaamvnInInImvnemQoLoMoNoNoOoPoQnemvneoRoSoToUnemvoVoVoVoVoWoXoYoyoZoVnBoBoCpaojpbojojpbpcpdojpenRoHjwpfpgnjoIoIoIphjwmmhChChChChChCkrhkhCpiimfzaaaanujjnvpjjSjSktjzjAjBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapknenenemvnemQneneneneneneplnemvnepmpnpoppnemvpqprprprpsptoYoyoAoynBoBoCojojojpupupvpwojojpxnRoHjwlslslsoIoIoIpyjwhChChCpzhChChChChkhCpAimfzaaaaaaaanujjjjnvpjjzjUjBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvpBnInepCnemQpDpEnenIpFnenenemvnHpmnWpGpHoxmvpIpJpJpJpKptpLoyoZprnBpMpNpOpPpQpRojpSpwojojpenRoHjwlspTpUoIoIoIoIjwhChChChChChChChChkhCpAimfzaaaaaaaaaaaaaanujjbhkyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapknenenepVnemQpWpDnepXpWnepYnemvpZnepmqaqbnemvptprqcprqdptqeoyoAoynBqfqgqhqiqjqkqlpbpbojojojnRoHjwjwjwjwqmqmqmqmjwqnqoqnqpqpqpqpqpqpqpqpimfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvnInInImvnImQpDnInepWnIneneneqqnenenemQnenemvqrqsqrqsqtquproyqvoynBnBnBnBnBnBnBnBnBnBnBnBnBqwomqwaahchchchchchchcqxqyqzhchchchcaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqAbDbDbDbDbDbDbDqBaamvotototmvmvqCmvmvmvmvmvmvmvmvmvmvmvmvqCmvmvmvqDqEqFqGqHprprqIprqJprprprprqKprqLqMqMqMqMqLprqwoHqwaabKaaaabKaaaabKqnqoqnbKaaaabKaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaanRqNqOoHqPqQqRqSqTqUqRqVqWqWqRqXqYqZqTraquququprprprrbprprprrcprrdqKprrbprprprprprprqwoHreaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrfcfaacdrfcfaanRrgrgrgnRoHqOoHrhqRqRriqTqUqRqRqRqRqRqRqRrjqTrkrlprrmprrmprrmprprprprprproAprrnrororororpprqwoHrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaarqrsrhoHnRoHqOoHrtqRqRruqTrvrwqRqRqRqRqRqRrxqTryprprprrmprrmpsrzrArBrBrArAqKprrnrCrCrCrCrDprqwoHrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaarqoHrhrErFrGrHoHrIqRrvrJqTrvrKrLrMrNqRrOqRrxqTrArArPrQprprprpsprprprrRprprqKqKqKqKqKqKqKqKqKqwoHrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaarSoHrhqOnRqTqTrTqTqTqTqTqTqTqTqTqTqTrUqTqTqTqTprprprrVprpqprrVprrWrXrYprprrVprrZsasasasasbsanRomrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaascdGdGsddGdGdGsddGdGsesfsgqOnRqTqWqRqRqRqRqRshsiriqTqWqRqRqRqRsjqTrCrCskpsprslsmsnprsospsqsrssoyprprsasasasasasanRoHstaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaasusvrhswnRqTqWqRqRqRsxqRqRqRsyqTszqRqRqRqRqRqToyoyoyoyprsAsBsCoyoyoyoyoyoyoyprproVoVoVoVoVoVnRnSqwnRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahcfzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaasDsErhqOnRqTsFsFsGsFqVqRsHsIsJqTsKqRsLsMqRqRqTaaaaoysNsBsOsBsCoyaaaaaaaaaaoysPsQoVoVoVoVoVoVnRoHoHoHnRaaaaaaaaaaaasRsSsRaaaaaaaaaafzfzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaarqsTsUsVnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRsSnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRoHoHoHoHsWaaaaaaaaaasXsYsZaaaaaaaaaafzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdtacfaacdtacfaarqoHrhtbtcrGrGrGrGtdoHoHoHoHoHoHoHoHoHteoHoHoHoHoHoHoHoHoHteoHoHoHoHoHoHoHoHoHteoHoHoHoHtfoHoHoHtgoHoHthaaaaaaaaaasXsSsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaarqoHrhoHtfoHoHoHoHqOoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHtfoHoHoHoHoHtithaaaabtaaaasXoHsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatjbDbDbDbDbDbDbDqBaanRrgrgnRrgrgqwqwqwtkqwqwqwtltlnRtltltltltlnRtltltltltlnRtltltltltlnRtltltltltlnRtltltltmtnoHoHoHoHoHoHtolwlwlwlwlwtpoHsZaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzfzfzfzfztqtqtrtstttstrtqtqfzfzfzfzfzfzfzfzfzfzfzfzfznRfzfzfzfzfzqwfzfzfzfzfzqwfzfzfzqwqwnSqwoHoHoHoHsStfoHoHoHtuoHoHsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtrtrtrtvtwtwtxtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatyaaaaaaaaaatyaaaabttytytztytAtAqwtBtCtBtCmpmpmpmpmpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtrtrtDtEtFtrtGtqaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaatytytytytytytytytytytytytytytytHtytItJtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtLtrtrtrtrtrtrtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytytMtNtOtNtPtQtRtStTtUtVtWtXtytHtHtHtYtytKaTtKaTaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaatqtqtZtruatrtrtqtqaaaaaaaaaabtaaaaaaaaaaaaaaaatytytyubtHubtHuctytHtHtHtHtHtyudtytHuetHtHtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtqtqtqtqtqtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytyufugtHtHtHuhuhtHtHuitHtHtyujtytHuetHuktytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaatytytyubtHubtHubtytytytHtHuhuhuluhtHuetHtHtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytytMumunumubtyuouptHuqurtyustytHtHtHtYtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytytytytytytytytytytytytyustytytytytytyutaTutaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauuaaaaaaaaaadnaaaaaaaaaauuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvpBnInepCnemQpDpEnenIpFnenenemvnHpmnWpGpHoxmvpIpJpJpJpKptpLoyoZprnBpMpNojpOpPpQojpRpwojojpenRoHjwlspSpToIoIoIoIjwhChChChChChChChChkhCpAimfzaaaaaaaaaaaaaanujjbhkyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapknenenepUnemQpVpDnepWpVnepXnemvpYnepmpZqanemvptprqbprqcptqdoyoAoynBqeqfqgqhqiqjqkpbpbojojojnRoHjwjwjwjwqlqlqlqljwqmqnqmqoqoqoqoqoqoqoqoimfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvnInInImvnImQpDnInepVnIneneneqpnenenemQnenemvqqqrqqqrqsqtproyquoynBnBnBnBnBnBnBnBnBnBnBnBnBqvomqvaahchchchchchchcqwqxqyhchchchcaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzbDbDbDbDbDbDbDqAaamvotototmvmvqBmvmvmvmvmvmvmvmvmvmvmvmvqBmvmvmvqCqDqEqFqGprprqHprqIprprprprqJprqKqLqLqLqLqKprqvoHqvaabKaaaabKaaaabKqmqnqmbKaaaabKaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaanRqMqNoHqOqPqQqRqSqTqQqUqVqVqQqWqXqYqSqZqtqtqtprprprraprprprrbprrcqJprraprprprprprprqvoHrdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrecfaacdrecfaanRrfrfrfnRoHqNoHrgqQqQrhqSqTqQqQqQqQqQqQqQriqSrjrkprrlprrlprrlprprprprprproAprrmrnrnrnrnroprqvoHrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaarprrrgoHnRoHqNoHrsqQqQrtqSrurvqQqQqQqQqQqQrwqSrxprprprrlprrlpsryrzrArArzrzqJprrmrBrBrBrBrCprqvoHrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaarpoHrgrDrErFrGoHrHqQrurIqSrurJrKrLrMqQrNqQrwqSrzrzrOrPprprprpsprprprrQprprqJqJqJqJqJqJqJqJqJqvoHrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaarRoHrgqNnRqSqSrSqSqSqSqSqSqSqSqSqSqSrTqSqSqSqSprprprrUprpqprrUprrVrWrXprprrUprrYrZrZrZrZsarZnRomrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbdGdGscdGdGdGscdGdGsdsesfqNnRqSqVqQqQqQqQqQsgshrhqSqVqQqQqQqQsiqSrBrBsjpsprskslsmprsnsospsqsroyprprrZrZrZrZrZrZnRoHssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaastsurgsvnRqSqVqQqQqQswqQqQqQsxqSsyqQqQqQqQqQqSoyoyoyoyprszsAsBoyoyoyoyoyoyoyprproVoVoVoVoVoVnRnSqvnRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahcfzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaasCsDrgqNnRqSsEsEsFsEqUqQsGsHsIqSsJqQsKsLqQqQqSaaaaoysMsAsNsAsBoyaaaaaaaaaaoysOsPoVoVoVoVoVoVnRoHoHoHnRaaaaaaaaaaaasQsRsQaaaaaaaaaafzfzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaarpsSsTsUnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRsRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRoHoHoHoHsVaaaaaaaaaasWsXsYaaaaaaaaaafzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdsZcfaacdsZcfaarpoHrgtatbrFrFrFrFtcoHoHoHoHoHoHoHoHoHtdoHoHoHoHoHoHoHoHoHtdoHoHoHoHoHoHoHoHoHtdoHoHoHoHteoHoHoHtfoHoHtgaaaaaaaaaasWsRsYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaarpoHrgoHteoHoHoHoHqNoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHteoHoHoHoHoHthtgaaaabtaaaasWoHsYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatibDbDbDbDbDbDbDqAaanRrfrfnRrfrfqvqvqvtjqvqvqvtktknRtktktktktknRtktktktktknRtktktktktknRtktktktktknRtktktktltmoHoHoHoHoHoHtnlwlwlwlwlwtooHsYaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzfzfzfzfztptptqtrtstrtqtptpfzfzfzfzfzfzfzfzfzfzfzfzfznRfzfzfzfzfzqvfzfzfzfzfzqvfzfzfzqvqvnSqvoHoHoHoHsRteoHoHoHttoHoHsYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptqtqtqtutvtvtwtpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxaaaaaaaaaatxaaaabttxtxtytxtztzqvtAtBtAtBmpmpmpmpmpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptqtqtCtDtEtqtFtpaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaatxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtGtxtHtItxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptKtqtqtqtqtqtqtpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxtLtMtNtMtOtPtQtRtStTtUtVtWtxtGtGtGtXtxtJaTtJaTaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaatptptYtqtZtqtqtptpaaaaaaaaaabtaaaaaaaaaaaaaaaatxtxtxuatGuatGubtxtGtGtGtGtGtxuctxtGudtGtGtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptptptptptptpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxueuftGtGtGugugtGtGuhtGtGtxuitxtGudtGujtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaatxtxtxuatGuatGuatxtxtxtGtGugugukugtGudtGtGtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxtLulumuluatxunuotGupuqtxurtxtGtGtGtXtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxtxtxtxtxtxtxtxtxtxtxtxurtxtxtxtxtxtxusaTusaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaautaaaaaaaaaadnaaaaaaaaaautaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaadnaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuvuvaadnaauvuvuvaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauwuxuxdGuydGuxuxuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauAuAuAaadnaauAuAuAaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauuuuuuaadnaauuuuuuaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuwuwdGuxdGuwuwuyaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauzuzuzaadnaauzuzuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaadnaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuvuvaadnaauvuvuvaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauwuxuxdGuydGuxuxuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauAuAuAaadnaauAuAuAaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauuuuuuaadnaauuuuuuaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuwuwdGuxdGuwuwuyaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauzuzuzaadnaauzuzuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaadnaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatjbDbDbDbDbDuBbDbDbDbDbDfkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatibDbDbDbDbDuAbDbDbDbDbDfkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 618da8a7c4be2c77caf9b70e33b87e2918b0dad9 Mon Sep 17 00:00:00 2001 From: Segrain Date: Sat, 22 Jun 2013 07:33:33 +0300 Subject: [PATCH 03/31] Alcohol bugfixes. --- code/modules/reagents/Chemistry-Reagents.dm | 24 ++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 55c255d42dd..cfeb4e9de48 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2788,7 +2788,7 @@ datum // make all the beverages work together for(var/datum/reagent/ethanol/A in holder.reagent_list) - if(A.data) d += A.data + if(isnum(A.data)) d += A.data M.dizziness +=dizzy_adj. if(d >= slur_start && d < pass_out) @@ -3449,14 +3449,14 @@ datum nutriment_factor = 1 * FOOD_METABOLISM color = "#2E6671" // rgb: 46, 102, 113 - on_mob_life(var/mob/living/M as mob) - if(!data) data = 1 - data++ - M.dizziness +=10 - if(data >= 55 && data <115) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 10 - else if(data >= 115 && prob(33)) - M.confused = max(M.confused+15,15) - ..() - return \ No newline at end of file + on_mob_life(var/mob/living/M as mob) + if(!data) data = 1 + data++ + M.dizziness +=10 + if(data >= 55 && data <115) + if (!M.stuttering) M.stuttering = 1 + M.stuttering += 10 + else if(data >= 115 && prob(33)) + M.confused = max(M.confused+15,15) + ..() + return \ No newline at end of file From b58326c8fae68040b9fe1a7da0d755afccfaa73e Mon Sep 17 00:00:00 2001 From: cib Date: Sat, 22 Jun 2013 03:22:20 +0200 Subject: [PATCH 04/31] Implemented robot components(organs) Features: - You now have to open up a cyborg after constructing it and insert all the components - Cyborgs have per-component damage rather than total damage. - Too much damage can fry a component, making it non-functional - Components consume power - You can disable a component to save power - Actuator component allows you to move - Camera component allows you to see - Comms component allows you to use :b - Radio component allows you to use radio - The same placeholder icon for all components --- code/game/mecha/mech_fabricator.dm | 7 +- code/game/objects/items/robot/robot_parts.dm | 4 +- .../mob/living/silicon/robot/component.dm | 149 ++++++++++++++++++ code/modules/mob/living/silicon/robot/life.dm | 33 ++-- .../modules/mob/living/silicon/robot/robot.dm | 129 +++++++++++++-- .../mob/living/silicon/robot/robot_damage.dm | 86 ++++++++++ code/modules/mob/living/silicon/say.dm | 8 + 7 files changed, 394 insertions(+), 22 deletions(-) create mode 100644 code/modules/mob/living/silicon/robot/component.dm create mode 100644 code/modules/mob/living/silicon/robot/robot_damage.dm diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 56c9f74f49f..973b8de1d61 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -44,7 +44,12 @@ /obj/item/robot_parts/l_arm, /obj/item/robot_parts/r_arm, /obj/item/robot_parts/l_leg, - /obj/item/robot_parts/r_leg + /obj/item/robot_parts/r_leg, + /obj/item/robot_parts/robot_component/binary_communication_device, + /obj/item/robot_parts/robot_component/radio, + /obj/item/robot_parts/robot_component/actuator, + /obj/item/robot_parts/robot_component/diagnosis_unit, + /obj/item/robot_parts/robot_component/camera ), "Ripley"=list( /obj/item/mecha_parts/chassis/ripley, diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index d15e17033f7..aa938a13e55 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -162,7 +162,7 @@ else user << "\blue You need to attach a flash to it first!" - if(istype(W, /obj/item/device/mmi) || istype(W, /obj/item/device/mmi/posibrain)) + if(istype(W, /obj/item/device/mmi)) var/obj/item/device/mmi/M = W if(check_completion()) if(!istype(loc,/turf)) @@ -194,7 +194,7 @@ user << "\red This [W] does not seem to fit." return - var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc)) + var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1) if(!O) return user.drop_item() diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm new file mode 100644 index 00000000000..b45ea8b0ae3 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -0,0 +1,149 @@ +// TODO: remove the robot.mmi and robot.cell variables and completely rely on the robot component system + +/datum/robot_component/var/name +/datum/robot_component/var/installed = 0 +/datum/robot_component/var/powered = 0 +/datum/robot_component/var/toggled = 1 +/datum/robot_component/var/brute_damage = 0 +/datum/robot_component/var/electronics_damage = 0 +/datum/robot_component/var/energy_consumption = 0 +/datum/robot_component/var/max_damage = 30 +/datum/robot_component/var/mob/living/silicon/robot/owner + +// The actual device object that has to be installed for this. +/datum/robot_component/var/external_type = null + +// The wrapped device(e.g. radio), only set if external_type isn't null +/datum/robot_component/var/obj/item/wrapped = null + + +/datum/robot_component/proc/is_functioning() + return brute_damage + electronics_damage < 30 + +/datum/robot_component/New(mob/living/silicon/robot/R) + src.owner = R + +/datum/robot_component/proc/install() +/datum/robot_component/proc/uninstall() + +/datum/robot_component/proc/destroy() + if(wrapped) + del wrapped + + + wrapped = new/obj/item/broken_device + + // The thing itself isn't there anymore, but some fried remains are. + installed = -1 + uninstall() + +/datum/robot_component/proc/take_damage(brute, electronics, sharp) + if(installed != 1) return + + brute_damage += brute + electronics_damage += electronics + + if(brute_damage + electronics_damage > max_damage) destroy() + +/datum/robot_component/proc/heal_damage(brute, electronics) + if(!is_functioning()) + // If it's not functioning, it's beyond repairing without taking it out. + return 0 + + brute_damage = max(0, brute_damage - brute) + electronics_damage = max(0, electronics_damage - electronics) + +/datum/robot_component/proc/is_powered() + return installed == 1 && (!energy_consumption || powered) + + +/datum/robot_component/proc/consume_power() + if(toggled == 0) + powered = 0 + return + if(owner.cell.charge >= energy_consumption) + owner.cell.use(energy_consumption) + powered = 1 + else + powered = 0 + + +/datum/robot_component/actuator + name = "actuator" + energy_consumption = 2 + external_type = /obj/item/robot_parts/robot_component/actuator + max_damage = 60 + +/datum/robot_component/cell + name = "power cell" + max_damage = 60 + +/datum/robot_component/cell/destroy() + ..() + owner.cell = null + +/datum/robot_component/radio + name = "radio" + external_type = /obj/item/robot_parts/robot_component/radio + energy_consumption = 3 + max_damage = 10 + +/datum/robot_component/binary_communication + name = "binary communication device" + external_type = /obj/item/robot_parts/robot_component/binary_communication_device + energy_consumption = 0 + max_damage = 30 + +/datum/robot_component/camera + name = "camera" + external_type = /obj/item/robot_parts/robot_component/camera + energy_consumption = 2 + max_damage = 20 + +/datum/robot_component/diagnosis_unit + name = "self-diagnosis unit" + energy_consumption = 1 + external_type = /obj/item/robot_parts/robot_component/diagnosis_unit + max_damage = 30 + +/mob/living/silicon/robot/proc/initialize_components() + // This only initializes the components, it doesn't set them to installed. + + components["actuator"] = new/datum/robot_component/actuator(src) + components["radio"] = new/datum/robot_component/radio(src) + components["power cell"] = new/datum/robot_component/cell(src) + components["diagnosis unit"] = new/datum/robot_component/diagnosis_unit(src) + components["camera"] = new/datum/robot_component/camera(src) + components["comms"] = new/datum/robot_component/binary_communication(src) + +/mob/living/silicon/robot/proc/is_component_functioning(module_name) + var/datum/robot_component/C = components[module_name] + return C && C.installed == 1 && C.toggled && C.is_powered() + +/obj/item/broken_device + name = "broken component" + icon = 'robot_component.dmi' + icon_state = "broken" + +/obj/item/robot_parts/robot_component + icon = 'robot_component.dmi' + icon_state = "working" + construction_time = 200 + construction_cost = list("metal"=5000) + + +// TODO: actual icons ;) +/obj/item/robot_parts/robot_component/binary_communication_device + name = "binary communication device" + +/obj/item/robot_parts/robot_component/actuator + name = "actuator" + +/obj/item/robot_parts/robot_component/camera + name = "camera" + +/obj/item/robot_parts/robot_component/diagnosis_unit + name = "diagnosis unit" + +/obj/item/robot_parts/robot_component/radio + name = "radio" \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index a4d6cdc7481..11d6bea91b4 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -37,23 +37,25 @@ /mob/living/silicon/robot/proc/use_power() - if (src.cell) + if (is_component_functioning("power cell")) if(src.cell.charge <= 0) uneq_all() src.stat = 1 - else if (src.cell.charge <= 100) - uneq_all() - src.sight_mode = 0 - src.cell.use(1) else if(src.module_state_1) - src.cell.use(5) + src.cell.use(3) if(src.module_state_2) - src.cell.use(5) + src.cell.use(3) if(src.module_state_3) - src.cell.use(5) - src.cell.use(1) - src.blinded = 0 + src.cell.use(3) + + for(var/V in components) + var/datum/robot_component/C = components[V] + C.consume_power() + + if(!is_component_functioning("actuator")) + Paralyse(3) + src.stat = 0 else uneq_all() @@ -128,6 +130,17 @@ src.druggy-- src.druggy = max(0, src.druggy) + if(!is_component_functioning("radio")) + radio.on = 0 + else + radio.on = 1 + + if(is_component_functioning("camera")) + src.blinded = 0 + else + src.blinded = 1 + + return 1 /mob/living/silicon/robot/proc/handle_regular_hud_updates() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index af99686b006..2386e899781 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -27,6 +27,9 @@ var/obj/item/weapon/cell/cell = null var/obj/machinery/camera/camera = null + // Components are basically robot organs. + var/list/components = list() + var/obj/item/device/mmi/mmi = null var/obj/item/device/pda/ai/rbPDA = null @@ -58,7 +61,7 @@ var/braintype = "Cyborg" var/pose -/mob/living/silicon/robot/New(loc,var/syndie = 0) +/mob/living/silicon/robot/New(loc,var/syndie = 0,var/unfinished = 0) spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) spark_system.attach(src) @@ -67,12 +70,10 @@ updatename("Default") updateicon() - if(!cell) - cell = new /obj/item/weapon/cell(src) - cell.maxcharge = 7500 - cell.charge = 7500 - if(syndie) + if(!cell) + cell = new /obj/item/weapon/cell(src) + laws = new /datum/ai_laws/antimov() lawupdate = 0 scrambledcodes = 1 @@ -99,6 +100,25 @@ camera.network = list("SS13") if(isWireCut(5)) // 5 = BORG CAMERA camera.status = 0 + + initialize_components() + if(!unfinished) + // Create all the robot parts. + for(var/V in components) if(V != "power cell") + var/datum/robot_component/C = components[V] + C.installed = 1 + C.wrapped = new C.external_type + + if(!cell) + cell = new /obj/item/weapon/cell(src) + cell.maxcharge = 7500 + cell.charge = 7500 + + if(cell) + var/datum/robot_component/cell_component = components["power cell"] + cell_component.wrapped = cell + cell_component.installed = 1 + ..() playsound(loc, 'sound/voice/liveagain.ogg', 75, 1) @@ -381,6 +401,53 @@ viewalerts = 1 src << browse(dat, "window=robotalerts&can_close=0") +/mob/living/silicon/robot/proc/self_diagnosis() + if(!is_component_functioning("diagnosis unit")) + return null + + var/dat = "[src.name] Self-Diagnosis Report\n" + for (var/V in components) + var/datum/robot_component/C = components[V] + dat += "[C.name]
Power consumption[C.energy_consumption]
Brute Damage:[C.brute_damage]
Electronics Damage:[C.electronics_damage]
Powered:[(!C.energy_consumption || C.is_powered()) ? "Yes" : "No"]
Toggled:[ C.toggled ? "Yes" : "No"]

" + + return dat + + +/mob/living/silicon/robot/verb/self_diagnosis_verb() + set category = "Robot Commands" + set name = "Self Diagnosis" + + if(!is_component_functioning("diagnosis unit")) + src << "\red Your self-diagnosis component isn't functioning." + + var/dat = self_diagnosis() + src << browse(dat, "window=robotdiagnosis") + + +/mob/living/silicon/robot/verb/toggle_component() + set category = "Robot Commands" + set name = "Toggle Component" + set desc = "Toggle a component, conserving power." + + var/list/installed_components = list() + for(var/V in components) + if(V == "power cell") continue + var/datum/robot_component/C = components[V] + if(C.installed) + installed_components += V + + var/toggle = input(src, "Which component do you want to toggle?", "Toggle Component") as null|anything in installed_components + if(!toggle) + return + + var/datum/robot_component/C = components[toggle] + if(C.toggled) + C.toggled = 0 + src << "\red You disable [C.name]." + else + C.toggled = 1 + src << "\red You enable [C.name]." + /mob/living/silicon/robot/blob_act() if (stat != 2) adjustBruteLoss(60) @@ -564,6 +631,20 @@ if (istype(W, /obj/item/weapon/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do return + if(opened) // Are they trying to insert something? + for(var/V in components) + var/datum/robot_component/C = components[V] + if(!C.installed && istype(W, C.external_type)) + C.installed = 1 + C.wrapped = W + C.install() + user.drop_item() + W.loc = null + + usr << "\blue You install the [W.name]." + + return + if (istype(W, /obj/item/weapon/weldingtool)) if (!getBruteLoss()) user << "Nothing to fix here!" @@ -609,6 +690,27 @@ C.updateicon() new/obj/item/robot_parts/chest(loc) src.Del() + else + // Okay we're not removing the cell or an MMI, but maybe something else? + var/list/removable_components = list() + for(var/V in components) + if(V == "power cell") continue + var/datum/robot_component/C = components[V] + if(C.installed == 1) + removable_components += V + + var/remove = input(user, "Which component do you want to pry out?", "Remove Component") as null|anything in removable_components + if(!remove) + return + var/datum/robot_component/C = components[remove] + var/obj/item/I = C.wrapped + user << "You remove \the [I]." + I.loc = src.loc + + if(C.installed == 1) + C.uninstall() + C.installed = 0 + else if(locked) user << "The cover is locked and cannot be opened." @@ -618,17 +720,20 @@ updateicon() else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside + var/datum/robot_component/C = components["power cell"] if(wiresexposed) user << "Close the panel first." - else if(cell) + else if(cell || C.installed) user << "There is a power cell already installed." else user.drop_item() W.loc = src cell = W user << "You insert the power cell." -// chargecount = 0 - updateicon() + + C.installed = 1 + C.wrapped = W + C.install() else if (istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/device/multitool)) if (wiresexposed) @@ -901,6 +1006,7 @@ add_fingerprint(user) if(opened && !wiresexposed && (!istype(user, /mob/living/silicon))) + var/datum/robot_component/cell_component = components["power cell"] if(cell) cell.updateicon() cell.add_fingerprint(user) @@ -908,6 +1014,11 @@ user << "You remove \the [cell]." cell = null updateicon() + else if(cell_component.installed == -1) + cell_component.installed = 0 + var/obj/item/broken_device = cell_component.wrapped + user << "You remove \the [broken_device]." + user.put_in_active_hand(broken_device) if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm new file mode 100644 index 00000000000..cc949fa7689 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -0,0 +1,86 @@ +/mob/living/silicon/robot/getBruteLoss() + var/amount = 0 + for(var/V in components) + var/datum/robot_component/C = components[V] + amount += C.brute_damage + return amount + +/mob/living/silicon/robot/getFireLoss() + var/amount = 0 + for(var/V in components) + var/datum/robot_component/C = components[V] + amount += C.electronics_damage + return amount + + +/mob/living/silicon/robot/adjustBruteLoss(var/amount) + if(amount > 0) + take_overall_damage(amount, 0) + else + heal_overall_damage(-amount, 0) + +/mob/living/silicon/robot/adjustFireLoss(var/amount) + if(amount > 0) + take_overall_damage(0, amount) + else + heal_overall_damage(0, -amount) + +/mob/living/silicon/robot/proc/get_damaged_components(var/brute, var/burn) + var/list/datum/robot_component/parts = list() + for(var/V in components) + var/datum/robot_component/C = components[V] + if((brute && C.brute_damage) || (burn && C.electronics_damage)) + parts += C + return parts + +/mob/living/silicon/robot/proc/get_damageable_components() + var/list/rval = new + for(var/V in components) + var/datum/robot_component/C = components[V] + if(C.installed == 1) rval += C + return rval + +/mob/living/silicon/robot/heal_organ_damage(var/brute, var/burn) + var/list/datum/robot_component/parts = get_damaged_components(brute,burn) + if(!parts.len) return + var/datum/robot_component/picked = pick(parts) + picked.heal_damage(brute,burn) + +/mob/living/silicon/robot/take_organ_damage(var/brute, var/burn, var/sharp = 0) + var/datum/robot_component/C = pick(get_damageable_components()) + C.take_damage(brute,burn,sharp) + +/mob/living/silicon/robot/heal_overall_damage(var/brute, var/burn) + var/list/datum/robot_component/parts = get_damaged_components(brute,burn) + + log_debug("Healing [brute] brute and [burn] burn with [parts.len] parts") + while(parts.len && (brute>0 || burn>0) ) + var/datum/robot_component/picked = pick(parts) + + var/brute_was = picked.brute_damage + var/burn_was = picked.electronics_damage + + log_debug("Healing [picked.name]") + picked.heal_damage(brute,burn) + log_debug("[brute] brute and [burn] burn left to heal") + + brute -= (brute_was-picked.brute_damage) + burn -= (burn_was-picked.electronics_damage) + + parts -= picked + +/mob/living/silicon/robot/take_overall_damage(var/brute, var/burn, var/sharp = 0, var/used_weapon = null) + if(status_flags & GODMODE) return //godmode + var/list/datum/robot_component/parts = get_damageable_components() + while(parts.len && (brute>0 || burn>0) ) + var/datum/robot_component/picked = pick(parts) + + var/brute_was = picked.brute_damage + var/burn_was = picked.electronics_damage + + picked.take_damage(brute,burn) + + brute -= (picked.brute_damage - brute_was) + burn -= (picked.electronics_damage - burn_was) + + parts -= picked \ No newline at end of file diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 81a85f7a5d8..6ef24637b9c 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -24,6 +24,14 @@ return ..(message) message = copytext(message, 3) message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) + + // TODO: move the component system up to silicon so we don't have to use this ugly hack.. + if(istype(src, /mob/living/silicon/robot)) + var/mob/living/silicon/robot/R = src + if(!R.is_component_functioning("comms")) + src << "\red Your binary communications component isn't functional." + return + robot_talk(message) else if (department_radio_keys[prefix] == "department") if(isAI(src)&&client)//For patching directly into AI holopads. From f59faa04a087563a6965941534b64ed68c04a8c4 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 22 Jun 2013 17:50:18 -0700 Subject: [PATCH 05/31] Fixes #3125 --- .../machinery/computer/HolodeckControl.dm | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index cfb61b50424..db320be2935 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -96,6 +96,36 @@ if(target) loadProgram(target) + else if(href_list["desert"]) + target = locate(/area/holodeck/source_desert) + if(target) + loadProgram(target) + + else if(href_list["space"]) + target = locate(/area/holodeck/source_space) + if(target) + loadProgram(target) + + else if(href_list["picnicarea"]) + target = locate(/area/holodeck/source_picnicarea) + if(target) + loadProgram(target) + + else if(href_list["snowfield"]) + target = locate(/area/holodeck/source_snowfield) + if(target) + loadProgram(target) + + else if(href_list["theatre"]) + target = locate(/area/holodeck/source_theatre) + if(target) + loadProgram(target) + + else if(href_list["meetinghall"]) + target = locate(/area/holodeck/source_meetinghall) + if(target) + loadProgram(target) + else if(href_list["turnoff"]) target = locate(/area/holodeck/source_plating) if(target) From be16c8eff31ef2ee621441b86572a523868e2ff7 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 22 Jun 2013 20:07:21 -0700 Subject: [PATCH 06/31] Fixes #2957 --- code/game/objects/items/devices/PDA/PDA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 07f7443fc85..8e533cf37b2 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -850,7 +850,7 @@ var/global/list/obj/item/device/pda/PDAs = list() P.overlays.Cut() P.overlays += image('icons/obj/pda.dmi', "pda-r") else - U << "ERROR: Server isn't responding." + U << "ERROR: Messaging server is not responding." /obj/item/device/pda/verb/verb_remove_id() @@ -1162,7 +1162,7 @@ var/global/list/obj/item/device/pda/PDAs = list() plist[text("[name]")] = P return plist - + //Some spare PDAs in a box /obj/item/weapon/storage/box/PDAs From 513a9d7ee8c24e512497febb1d07a6053c8a533a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 22 Jun 2013 20:22:19 -0700 Subject: [PATCH 07/31] Fixes #3052 --- code/modules/clothing/head/jobs.dm | 10 +++++----- code/modules/mob/living/carbon/human/inventory.dm | 8 ++++---- code/modules/mob/living/carbon/human/update_icons.dm | 3 +-- code/setup.dm | 6 +++--- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 893c8f47e54..14f250ebafa 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -63,18 +63,18 @@ //Medical /obj/item/clothing/head/surgery name = "surgical cap" - desc = "A cap surgeons wear during operations. Keeps thier hair from tickling your internal organs." + desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs." icon_state = "surgcap_blue" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = FPRINT | TABLEPASS | BLOCKHEADHAIR /obj/item/clothing/head/surgery/purple - desc = "A cap surgeons wear during operations. Keeps thier hair from tickling your internal organs. This one is deep purple." + desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is deep purple." icon_state = "surgcap_purple" /obj/item/clothing/head/surgery/blue - desc = "A cap surgeons wear during operations. Keeps thier hair from tickling your internal organs. This one is baby blue" + desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is baby blue." icon_state = "surgcap_blue" /obj/item/clothing/head/surgery/green - desc = "A cap surgeons wear during operations. Keeps thier hair from tickling your internal organs. This one is dark green" + desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is dark green." icon_state = "surgcap_green" diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 1fa82e5778d..3bdf798a6bd 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -88,7 +88,7 @@ update_inv_glasses() else if (W == head) head = null - if(W.flags & BLOCKHAIR) + if((W.flags & BLOCKHAIR) || (W.flags & BLOCKHEADHAIR)) update_hair(0) //rebuild hair success = 1 update_inv_head() @@ -107,7 +107,7 @@ else if (W == wear_mask) wear_mask = null success = 1 - if(W.flags & BLOCKHAIR) + if((W.flags & BLOCKHAIR) || (W.flags & BLOCKHEADHAIR)) update_hair(0) //rebuild hair if(internal) if(internals) @@ -188,7 +188,7 @@ update_inv_back(redraw_mob) if(slot_wear_mask) src.wear_mask = W - if(wear_mask.flags & BLOCKHAIR) + if((wear_mask.flags & BLOCKHAIR) || (wear_mask.flags & BLOCKHEADHAIR)) update_hair(redraw_mob) //rebuild hair W.equipped(src, slot) update_inv_wear_mask(redraw_mob) @@ -229,7 +229,7 @@ update_inv_gloves(redraw_mob) if(slot_head) src.head = W - if(head.flags & BLOCKHAIR) + if((head.flags & BLOCKHAIR) || (head.flags & BLOCKHEADHAIR)) update_hair(redraw_mob) //rebuild hair if(istype(W,/obj/item/clothing/head/kitty)) W.update_icon(src) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 9d29d317c80..fea13b8bc10 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -350,7 +350,6 @@ proc/get_damage_icon_part(damage_state, body_part) //masks and helmets can obscure our hair. if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() - return //base icons @@ -367,7 +366,7 @@ proc/get_damage_icon_part(damage_state, body_part) face_standing.Blend(facial_s, ICON_OVERLAY) face_lying.Blend(facial_l, ICON_OVERLAY) - if(h_style) + if(h_style && !(head && (head.flags & BLOCKHEADHAIR))) var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] if(hair_style) var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") diff --git a/code/setup.dm b/code/setup.dm index c72f57f8805..f4b8d35e2ff 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -175,8 +175,7 @@ var/MAX_EXPLOSION_RANGE = 14 //FLAGS BITMASK #define STOPSPRESSUREDMAGE 1 //This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere -//To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. - + //To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. #define TABLEPASS 2 // can pass by a table or rack #define MASKINTERNALS 8 // mask allows internals @@ -205,7 +204,8 @@ var/MAX_EXPLOSION_RANGE = 14 #define NOREACT 16384 //Reagents dont' react inside this container. -#define BLOCKHAIR 32768 // temporarily removes the user's hair icon +#define BLOCKHEADHAIR 4 // temporarily removes the user's hair overlay. Leaves facial hair. +#define BLOCKHAIR 32768 // temporarily removes the user's hair, facial and otherwise. //flags for pass_flags #define PASSTABLE 1 From 146462cbc6f17e44effd4661a4b871c7ffe3a26e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 22 Jun 2013 21:55:22 -0700 Subject: [PATCH 08/31] Fixes #2740 --- .../modules/mob/living/silicon/robot/emote.dm | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 4fa8a543b98..6b94c52c6da 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -10,7 +10,18 @@ switch(act) if ("me") - return custom_emote(m_type, message) + if (src.client) + if(client.prefs.muted & MUTE_IC) + src << "You cannot send IC messages (muted)." + return + if (src.client.handle_spam_prevention(message,MUTE_IC)) + return + if (stat) + return + if(!(message)) + return + else + return custom_emote(m_type, message) if ("custom") return custom_emote(m_type, message) @@ -62,20 +73,6 @@ message = "[src] flaps his wings ANGRILY!" m_type = 2 - if ("me") - if (src.client) - if(client.prefs.muted & MUTE_IC) - src << "You cannot send IC messages (muted)." - return - if (src.client.handle_spam_prevention(message,MUTE_IC)) - return - if (stat) - return - if(!(message)) - return - else - message = "[src] [message]" - if ("twitch") message = "[src] twitches violently." m_type = 1 @@ -207,8 +204,12 @@ m_type = 2 else src << "You are not security." + + if ("help") + src << "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitch_s, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look, beep, ping, \nbuzz, law, halt" else - src << text("Invalid Emote: []", act) + src << "\blue Unusable emote '[act]'. Say *help for a list." + if ((message && src.stat == 0)) if (m_type & 1) for(var/mob/O in viewers(src, null)) From f77d208d0470344f5133cf8a3df3af9a7538d984 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 22 Jun 2013 22:19:52 -0700 Subject: [PATCH 09/31] Fixes #3131 --- code/game/mecha/equipment/tools/tools.dm | 14 +++++++++++- code/game/mecha/mecha.dm | 28 ++++++++++++++++++++++++ code/game/mecha/working/ripley.dm | 18 +++------------ code/modules/customitems/item_defines.dm | 23 +++++++++++++------ 4 files changed, 60 insertions(+), 23 deletions(-) diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 0cb83e5ac55..81243486139 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -1053,4 +1053,16 @@ set_ready_state(0) chassis.use_power(energy_drain) do_after_cooldown() - return 1 \ No newline at end of file + return 1 + +/obj/item/weapon/paintkit //Please don't use this for anything, it's a base type for custom mech paintjobs. + name = "mecha customisation kit" + desc = "A generic kit containing all the needed tools and parts to turn a mech into another mech." + icon = 'custom_items.dmi' + icon_state = "royce_kit" + + var/new_name = "mech" //What is the variant called? + var/new_desc = "A mech." //How is the new mech described? + var/new_icon = "ripley" //What base icon will the new mech use? + var/removable = null //Can the kit be removed? + var/list/allowed_types = list() //Types of mech that the kit will work on. \ No newline at end of file diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 9d8291733cb..c94c38c6c32 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -759,6 +759,34 @@ user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src]") return + else if(istype(W, /obj/item/weapon/paintkit)) + + if(occupant) + user << "You can't customize a mech while someone is piloting it - that would be unsafe!" + return + + var/obj/item/weapon/paintkit/P = W + var/found = null + + for(var/type in P.allowed_types) + if(type==src.initial_icon) + found = 1 + break + + if(!found) + user << "That kit isn't meant for use on this class of exosuit." + return + + user.visible_message("[user] opens [P] and spends some quality time customising [src].") + + src.name = P.new_name + src.desc = P.new_desc + src.initial_icon = P.new_icon + src.reset_icon() + + user.drop_item() + del(P) + else call((proc_res["dynattackby"]||src), "dynattackby")(W,user) /* diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 84bff5cffc4..d7e6a00fdbf 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -2,6 +2,7 @@ desc = "Autonomous Power Loader Unit. The workhorse of the exosuit world." name = "APLU \"Ripley\"" icon_state = "ripley" + initial_icon = "ripley" step_in = 6 max_temperature = 20000 health = 200 @@ -19,6 +20,7 @@ desc = "Standart APLU chassis was refitted with additional thermal protection and cistern." name = "APLU \"Firefighter\"" icon_state = "firefighter" + initial_icon = "firefighter" max_temperature = 65000 health = 250 lights_power = 8 @@ -107,18 +109,4 @@ T.Entered(A) step_rand(A) ..() - return - - -/obj/mecha/working/ripley/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/fluff/sven_fjeltson_1))//this shit broke ripleys - src.icon_state = "earth" - src.initial_icon = "earth" - src.name = "APLU \"Strike the Earth!\"" - src.desc = "Looks like an over worked, under maintained Ripley with some horrific damage." - user << "You pick up your old \"Strike the Earth!\" APLU." - user.drop_item() - del(W) - return - else - ..() + return \ No newline at end of file diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 086f04efa0f..33c1aafbb4c 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1,4 +1,3 @@ -hi // Add custom items you give to people here, and put their icons in custom_items.dmi // Remember to change 'icon = 'custom_items.dmi'' for items not using /obj/item/fluff as a base // Clothing item_state doesn't use custom_items.dmi. Just add them to the normal clothing files. @@ -359,19 +358,29 @@ hi ////// Ripley customisation kit - Butchery Royce - MayeDay -/obj/item/weapon/fluff/butcher_royce_1 +/obj/item/weapon/paintkit/fluff/butcher_royce_1 name = "Ripley customisation kit" desc = "A kit containing all the needed tools and parts to turn an APLU Ripley into a Titan's Fist worker mech." icon = 'custom_items.dmi' icon_state = "royce_kit" + new_name = "APLU \"Titan's Fist\"" + new_desc = "This ordinary mining Ripley has been customized to look like a unit of the Titans Fist." + new_icon = "titan" + allowed_types = list("ripley","firefighter") + ////// Ripley customisation kit - Sven Fjeltson - Mordeth221 -/obj/item/weapon/fluff/sven_fjeltson_1 - name = "Mercenary APLU kit" - desc = "A kit containing all the needed tools and parts to turn an APLU Ripley into an old Mercenaries APLU." - icon = 'custom_items.dmi' - icon_state = "sven_kit" +/obj/item/weapon/paintkit/fluff/sven_fjeltson_1 + name = "Mercenary APLU kit" + desc = "A kit containing all the needed tools and parts to turn an APLU Ripley into an old Mercenaries APLU." + icon = 'custom_items.dmi' + icon_state = "sven_kit" + + new_name = "APLU \"Strike the Earth!\"" + new_desc = "Looks like an over worked, under maintained Ripley with some horrific damage." + new_icon = "earth" + allowed_types = list("ripley","firefighter") ////////////////////////////////// //////////// Clothing //////////// From 3aa3da29be8ed9f4dd5a6b8cba343f694ca1de37 Mon Sep 17 00:00:00 2001 From: cib Date: Sat, 22 Jun 2013 21:41:41 +0200 Subject: [PATCH 10/31] A few fixes to robot organs. - Forgot .dme - Made sure repairs and damage only work on installed modules. - Removed is_functioning() because it was a silly proc to have. --- baystation12.dme | 4 +++- code/modules/mob/living/silicon/robot/component.dm | 10 +++------- code/modules/mob/living/silicon/robot/robot_damage.dm | 11 ++++------- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index f367650640a..9d12f06fd98 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -792,7 +792,7 @@ #include "code\modules\DetectiveWork\detective_work.dm" #include "code\modules\DetectiveWork\evidence.dm" #include "code\modules\DetectiveWork\footprints_and_rag.dm" -#include "code\modules\DetectiveWork\scanner.dm" +#include "code\modules\detectivework\scanner.dm" #include "code\modules\events\alien_infestation.dm" #include "code\modules\events\blob.dm" #include "code\modules\events\brand_intelligence.dm" @@ -983,6 +983,7 @@ #include "code\modules\mob\living\silicon\pai\recruit.dm" #include "code\modules\mob\living\silicon\pai\say.dm" #include "code\modules\mob\living\silicon\pai\software.dm" +#include "code\modules\mob\living\silicon\robot\component.dm" #include "code\modules\mob\living\silicon\robot\death.dm" #include "code\modules\mob\living\silicon\robot\emote.dm" #include "code\modules\mob\living\silicon\robot\examine.dm" @@ -992,6 +993,7 @@ #include "code\modules\mob\living\silicon\robot\life.dm" #include "code\modules\mob\living\silicon\robot\login.dm" #include "code\modules\mob\living\silicon\robot\robot.dm" +#include "code\modules\mob\living\silicon\robot\robot_damage.dm" #include "code\modules\mob\living\silicon\robot\robot_items.dm" #include "code\modules\mob\living\silicon\robot\robot_modules.dm" #include "code\modules\mob\living\silicon\robot\robot_movement.dm" diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index b45ea8b0ae3..1d10956582e 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -16,10 +16,6 @@ // The wrapped device(e.g. radio), only set if external_type isn't null /datum/robot_component/var/obj/item/wrapped = null - -/datum/robot_component/proc/is_functioning() - return brute_damage + electronics_damage < 30 - /datum/robot_component/New(mob/living/silicon/robot/R) src.owner = R @@ -46,8 +42,8 @@ if(brute_damage + electronics_damage > max_damage) destroy() /datum/robot_component/proc/heal_damage(brute, electronics) - if(!is_functioning()) - // If it's not functioning, it's beyond repairing without taking it out. + if(installed != 1) + // If it's not installed, can't repair it. return 0 brute_damage = max(0, brute_damage - brute) @@ -146,4 +142,4 @@ name = "diagnosis unit" /obj/item/robot_parts/robot_component/radio - name = "radio" \ No newline at end of file + name = "radio" diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index cc949fa7689..97ee049fe97 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -2,14 +2,14 @@ var/amount = 0 for(var/V in components) var/datum/robot_component/C = components[V] - amount += C.brute_damage + if(C.installed == 1) amount += C.brute_damage return amount /mob/living/silicon/robot/getFireLoss() var/amount = 0 for(var/V in components) var/datum/robot_component/C = components[V] - amount += C.electronics_damage + if(C.installed == 1) amount += C.electronics_damage return amount @@ -29,7 +29,7 @@ var/list/datum/robot_component/parts = list() for(var/V in components) var/datum/robot_component/C = components[V] - if((brute && C.brute_damage) || (burn && C.electronics_damage)) + if(C.installed == 1) if((brute && C.brute_damage) || (burn && C.electronics_damage)) parts += C return parts @@ -53,16 +53,13 @@ /mob/living/silicon/robot/heal_overall_damage(var/brute, var/burn) var/list/datum/robot_component/parts = get_damaged_components(brute,burn) - log_debug("Healing [brute] brute and [burn] burn with [parts.len] parts") while(parts.len && (brute>0 || burn>0) ) var/datum/robot_component/picked = pick(parts) var/brute_was = picked.brute_damage var/burn_was = picked.electronics_damage - log_debug("Healing [picked.name]") picked.heal_damage(brute,burn) - log_debug("[brute] brute and [burn] burn left to heal") brute -= (brute_was-picked.brute_damage) burn -= (burn_was-picked.electronics_damage) @@ -83,4 +80,4 @@ brute -= (picked.brute_damage - brute_was) burn -= (picked.electronics_damage - burn_was) - parts -= picked \ No newline at end of file + parts -= picked From 6ccaae583f1de5a9ca25f752c248a9ad95aea8eb Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Sun, 23 Jun 2013 10:25:16 +1000 Subject: [PATCH 11/31] excavation gear belts can now hold pick sets, pick sets can no longer hold hand picks (they spawn in the locker instead), picks and measuring tapes now work much faster Signed-off-by: Cael Aislinn --- code/modules/mining/mine_turfs.dm | 2 +- code/modules/research/xenoarchaeology/misc.dm | 1 + .../xenoarchaeology/tools/gearbelt.dm | 1 + .../xenoarchaeology/tools/tools_pickaxe.dm | 24 +++++++++---------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 43dbadb4c21..3197a14a834 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -311,7 +311,7 @@ commented out in r5061, I left it because of the shroom thingies if (istype(W, /obj/item/device/measuring_tape)) var/obj/item/device/measuring_tape/P = W user.visible_message("\blue[user] extends [P] towards [src].","\blue You extend [P] towards [src].") - if(do_after(user,40)) + if(do_after(user,25)) user << "\blue \icon[P] [src] has been excavated to a depth of [2*src.excavation_level]cm." return diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index fd2f506330a..72cee56e2c6 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -100,6 +100,7 @@ new /obj/item/clothing/glasses/meson(src) new /obj/item/weapon/pickaxe(src) new /obj/item/device/measuring_tape(src) + new /obj/item/weapon/pickaxe/hand(src) return //---- Isolation room air alarms diff --git a/code/modules/research/xenoarchaeology/tools/gearbelt.dm b/code/modules/research/xenoarchaeology/tools/gearbelt.dm index f86e7d3dd1c..e2d4839d2b4 100644 --- a/code/modules/research/xenoarchaeology/tools/gearbelt.dm +++ b/code/modules/research/xenoarchaeology/tools/gearbelt.dm @@ -24,4 +24,5 @@ "/obj/item/weapon/anodevice", "/obj/item/clothing/glasses", "/obj/item/weapon/wrench", + "/obj/item/weapon/storage/box/excavation", "/obj/item/weapon/anobattery") diff --git a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm index ebb73a47d6b..31b6026981b 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick_brush" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)." excavation_amount = 0.5 drill_sound = 'sound/weapons/thudswoosh.ogg' @@ -19,7 +19,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick1" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)." excavation_amount = 1 drill_sound = 'sound/items/Screwdriver.ogg' @@ -31,7 +31,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick2" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)." excavation_amount = 2 drill_sound = 'sound/items/Screwdriver.ogg' @@ -43,7 +43,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick3" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)." excavation_amount = 3 drill_sound = 'sound/items/Screwdriver.ogg' @@ -55,7 +55,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick4" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)." excavation_amount = 4 drill_sound = 'sound/items/Screwdriver.ogg' @@ -67,7 +67,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick5" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)." excavation_amount = 5 drill_sound = 'sound/items/Screwdriver.ogg' @@ -79,7 +79,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick6" item_state = "syringe_0" - digspeed = 50 + digspeed = 20 desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)." excavation_amount = 6 drill_sound = 'sound/items/Screwdriver.ogg' @@ -91,7 +91,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "pick_hand" item_state = "syringe_0" - digspeed = 50 + digspeed = 30 desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)." excavation_amount = 15 drill_sound = 'sound/items/Crowbar.ogg' @@ -108,16 +108,15 @@ desc = "A set of picks for excavation." item_state = "syringe_kit" foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - storage_slots = 8 - w_class = 3 + storage_slots = 7 + w_class = 2 can_hold = list("/obj/item/weapon/pickaxe/brush",\ "/obj/item/weapon/pickaxe/one_pick",\ "/obj/item/weapon/pickaxe/two_pick",\ "/obj/item/weapon/pickaxe/three_pick",\ "/obj/item/weapon/pickaxe/four_pick",\ "/obj/item/weapon/pickaxe/five_pick",\ - "/obj/item/weapon/pickaxe/six_pick",\ - "/obj/item/weapon/pickaxe/hand") + "/obj/item/weapon/pickaxe/six_pick") max_combined_w_class = 17 max_w_class = 4 use_to_pickup = 1 // for picking up broken bulbs, not that most people will try @@ -131,4 +130,3 @@ new /obj/item/weapon/pickaxe/four_pick(src) new /obj/item/weapon/pickaxe/five_pick(src) new /obj/item/weapon/pickaxe/six_pick(src) - new /obj/item/weapon/pickaxe/hand(src) From 73cf13745de0e8bbeb9a2f87082e90e635d19e9a Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Sun, 23 Jun 2013 10:25:41 +1000 Subject: [PATCH 12/31] depth scanner should now properly show the responsive material of a find Signed-off-by: Cael Aislinn --- .../modules/research/xenoarchaeology/tools/tools_depthscanner.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm index 0eeb52d533a..1ad3d233b83 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm @@ -85,6 +85,7 @@ dat += "Anomaly depth: [current.depth] cm
" dat += "Clearance above anomaly depth: [current.clearance] cm
" dat += "Dissonance spread: [current.dissonance_spread]
" + dat += "Anomaly material: [current.material]
" dat += "clear entry
" else dat += "Select an entry from the list
" From de91fba8359fe4a7bb548f8aa9c74195a092e9e4 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Sun, 23 Jun 2013 10:27:48 +1000 Subject: [PATCH 13/31] halved the length of xenoarch scans, scans actually shut down when they exceed the safety by too much Signed-off-by: Cael Aislinn --- .../machinery/analysis_accelerator.dm | 2 ++ .../xenoarchaeology/machinery/analysis_base.dm | 12 +++++++----- .../machinery/analysis_fourier_transform.dm | 2 ++ .../machinery/analysis_gas_chromatography.dm | 2 ++ .../machinery/analysis_ion_mobility.dm | 2 ++ .../machinery/analysis_isotope_ratio.dm | 2 ++ 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/code/modules/research/xenoarchaeology/machinery/analysis_accelerator.dm b/code/modules/research/xenoarchaeology/machinery/analysis_accelerator.dm index 0a618dc8ba2..74ac904dc9b 100644 --- a/code/modules/research/xenoarchaeology/machinery/analysis_accelerator.dm +++ b/code/modules/research/xenoarchaeology/machinery/analysis_accelerator.dm @@ -1,4 +1,6 @@ +// This machine shows the age for extremely old finds + obj/machinery/anomaly/accelerator name = "Accelerator spectrometer" diff --git a/code/modules/research/xenoarchaeology/machinery/analysis_base.dm b/code/modules/research/xenoarchaeology/machinery/analysis_base.dm index 558b354a5d9..a462bd98fa0 100644 --- a/code/modules/research/xenoarchaeology/machinery/analysis_base.dm +++ b/code/modules/research/xenoarchaeology/machinery/analysis_base.dm @@ -23,7 +23,7 @@ var/obj/item/weapon/reagent_containers/glass/held_container var/obj/item/weapon/tank/fuel_container - var/target_scan_ticks = 60 + var/target_scan_ticks = 30 var/report_num = 0 var/scan_process = 0 var/temperature = 273 //measured in kelvin, if this exceeds 1200, the machine is damaged and requires repairs @@ -50,8 +50,10 @@ if(scan_process) if(scan_process++ > target_scan_ticks) FinishScan() - - if(temperature > 350 && prob(10)) + else if(temperature > 400) + src.visible_message("\blue \icon[src] shuts down from the heat!", 2) + scan_process = 0 + else if(temperature > 350 && prob(10)) src.visible_message("\blue \icon[src] bleets plaintively.", 2) if(temperature > 400) scan_process = 0 @@ -107,7 +109,7 @@ user.machine = src var/dat = "[src.name]
" dat += "Module heat level: [temperature] kelvin
" - dat += "Safeties set at 300k, shielding failure at 400k. Failure to maintain safe heat levels may result in equipment damage.
" + dat += "Safeties set at 350k, shielding failure at 400k. Failure to maintain safe heat levels may result in equipment damage.
" dat += "
" if(scan_process) dat += "Scan in progress


" @@ -178,7 +180,7 @@ obj/machinery/anomaly/Topic(href, href_list) fuel_container.loc = src.loc fuel_container = null if(href_list["begin"]) - if(temperature >= 300) + if(temperature >= 350) var/proceed = input("Unsafe internal temperature detected, enter YES below to continue.","Warning") if(proceed == "YES" && get_dist(src, usr) <= 1) scan_process = 1 diff --git a/code/modules/research/xenoarchaeology/machinery/analysis_fourier_transform.dm b/code/modules/research/xenoarchaeology/machinery/analysis_fourier_transform.dm index d8f45ae6d8e..98c49b2372a 100644 --- a/code/modules/research/xenoarchaeology/machinery/analysis_fourier_transform.dm +++ b/code/modules/research/xenoarchaeology/machinery/analysis_fourier_transform.dm @@ -1,4 +1,6 @@ +// This machine tells the distance to a nearby artifact, if there is one + obj/machinery/anomaly/fourier_transform name = "Fourier Transform spectroscope" diff --git a/code/modules/research/xenoarchaeology/machinery/analysis_gas_chromatography.dm b/code/modules/research/xenoarchaeology/machinery/analysis_gas_chromatography.dm index 79bc546b7ca..bd6dbeb9b36 100644 --- a/code/modules/research/xenoarchaeology/machinery/analysis_gas_chromatography.dm +++ b/code/modules/research/xenoarchaeology/machinery/analysis_gas_chromatography.dm @@ -1,4 +1,6 @@ +// This machine shows the materials that are present + obj/machinery/anomaly/gas_chromatography name = "Gas Chromatography spectrometer" diff --git a/code/modules/research/xenoarchaeology/machinery/analysis_ion_mobility.dm b/code/modules/research/xenoarchaeology/machinery/analysis_ion_mobility.dm index cdc388d7c87..70fde828dfe 100644 --- a/code/modules/research/xenoarchaeology/machinery/analysis_ion_mobility.dm +++ b/code/modules/research/xenoarchaeology/machinery/analysis_ion_mobility.dm @@ -1,4 +1,6 @@ +// This machine shows the amount of a certain material that is present + obj/machinery/anomaly/ion_mobility name = "Ion Mobility Spectrometer" desc = "A specialised, complex analysis machine." diff --git a/code/modules/research/xenoarchaeology/machinery/analysis_isotope_ratio.dm b/code/modules/research/xenoarchaeology/machinery/analysis_isotope_ratio.dm index 57e26840803..604015d31c3 100644 --- a/code/modules/research/xenoarchaeology/machinery/analysis_isotope_ratio.dm +++ b/code/modules/research/xenoarchaeology/machinery/analysis_isotope_ratio.dm @@ -1,4 +1,6 @@ +// This machine shows the age for newer finds + obj/machinery/anomaly/isotope_ratio name = "Isotope ratio spectrometer" desc = "A specialised, complex analysis machine." From c8fd18a63774a9b65fc04f560dfc90eb930abf67 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Sun, 23 Jun 2013 10:28:15 +1000 Subject: [PATCH 14/31] changelog update Signed-off-by: Cael Aislinn --- html/changelog.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index 7c45588e851..b7a3631fe75 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -57,6 +57,15 @@ Stuff which is in development and not yet visible to players or just code relate (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit though. Thanks. --> +
+

June 22nd 2013

+

Cael_Aislinn updated:

+
    +
  • The xenoarchaeology depth scanner will now tell you what energy field is required to safely extract a find.
  • +
  • Excavation picks will now dig faster, and xenoarchaeology as a whole should be easier to do.
  • +
+
+

09.06.2013

Segrain updated:

From df307162336f08d06d28f16d4ac4d5b7b06b74b4 Mon Sep 17 00:00:00 2001 From: meyar Date: Sun, 23 Jun 2013 01:06:10 -0400 Subject: [PATCH 15/31] Fixes missing blastdoors in security --- maps/tgstation.2.1.0.0.1.dmm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/maps/tgstation.2.1.0.0.1.dmm b/maps/tgstation.2.1.0.0.1.dmm index 1325e6eb4d9..fa5f0c7a385 100644 --- a/maps/tgstation.2.1.0.0.1.dmm +++ b/maps/tgstation.2.1.0.0.1.dmm @@ -62,7 +62,7 @@ "abj" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "abk" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "abl" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) -"abm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Prsion"; name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) +"abm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "Prsion"; name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) "abn" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "abo" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "abp" = (/obj/machinery/door/airlock{name = "Toilet"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) @@ -70,7 +70,7 @@ "abr" = (/obj/machinery/magnetic_module,/obj/structure/target_stake,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range) "abs" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range) "abt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/security/prison) -"abu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Prsion"; name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) +"abu" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "Prsion"; name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) "abv" = (/obj/machinery/camera{c_tag = "Prison Rec Room"; dir = 1; network = list("SS13"); pixel_x = 22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "abw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/security/prison) "abx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/security/prison) @@ -92,8 +92,8 @@ "abN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/range) "abO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/range) "abP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/security/prison) -"abQ" = (/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) -"abR" = (/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) +"abQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) +"abR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "abS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/prison) "abT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/prison) "abU" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) @@ -181,7 +181,7 @@ "ady" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple,/obj/machinery/door/airlock/security{name = "Execution Chamber"; req_access = null; req_access_txt = "1"},/turf/simulated/floor,/area/security/prison) "adz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) "adA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"adB" = (/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"adB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/prison) "adC" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/prison) "adD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "adE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -226,9 +226,9 @@ "aer" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "aes" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "aet" = (/obj/structure/closet/secure_closet/hos,/obj/machinery/power/apc{dir = 4; name = "Head of Security Office APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"aeu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) -"aev" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/prison) -"aew" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) +"aeu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) +"aev" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"aew" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) "aex" = (/turf/simulated/wall,/area/security/brig) "aey" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/security/warden) "aez" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Armoury Section"; req_access_txt = "3"},/turf/simulated/floor,/area/security/warden) @@ -417,8 +417,8 @@ "aia" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/security/hos) "aib" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/hos) "aic" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/structure/lattice,/turf/space,/area) -"aid" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor,/area/security/prison) -"aie" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor,/area/security/prison) +"aid" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/prison) +"aie" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor,/area/security/prison) "aif" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/obj/item/weapon/storage/box/evidence,/turf/simulated/floor,/area/security/brig) "aig" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/brig) "aih" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig) @@ -549,7 +549,7 @@ "akC" = (/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby) "akD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/security/lobby) "akE" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Brig"; req_access_txt = "63"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-redfull (NORTHWEST)"; icon_state = "redfull"; dir = 9},/area/security/lobby) -"akF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/lobby) +"akF" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor,/area/security/prison) "akG" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor{tag = "icon-redfull (NORTHWEST)"; icon_state = "redfull"; dir = 9},/area/security/lobby) "akH" = (/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; layer = 2.8; name = "Brig"; req_access_txt = "63"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) "akI" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; layer = 2.8; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) @@ -10101,26 +10101,26 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaiabtaaiabmabuabwabxabyabzabAaaiaaMabBaaiaabaaaaaaaaaaabaaSabCabsabDaaSaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaabaaiabEaaMabFabGaaMabHabIaaaaaaaaaaaMabJaaiaabaabaacaabaababKabsabqabsabKaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaiabEaaMabFabLaaMabHabIaaaaaaaaaaaMabMabMabMabMabMaabaababNabqabsabqabOaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaiabPaaMabQabRaaiabSabTaaiaaaaaaabMabMabUabVabWabMabMaabaaSabqabqabsaaSabXabXabXabXabXabXabYaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaiabPaaMaidaewaaiabSabTaaiaaaaaaabMabMabUabVabWabMabMaabaaSabqabqabsaaSabXabXabXabXabXabXabYaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaacaaiabZacaacbaccarbaceacfaaMaaaabMabMacgachachachaciabMabMaaSacjabqackaaSabXaclacmacnacoacpabYaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiacqacracsactacuacvacwaaMaaaabMacxacyaczachacAacBacCabMacDacEacFacGacHabXaclacIacJacKacLabYaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMaaiaaiaaiaaiacNacOacPacQaaMaaMaaMaaMaaaabMacRacyacSachacAacBacTabMacUacVacWacXacYabXaclacmacZadaacLabYaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMadbadcaddadeadfadgadhadiaaqadjadkaaMaaaabMadlacyadmachacAacBadnabMadoadpadqadradsabXabXabXadtaduabXabYaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMadvadwadxadwadyadzacsadAadBadCadCaaMaaaabMabMadDadEachadFadGabMabMadHadIadqadJaaSabXadKadLadMadNadOadPadPadQadRadPadPaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMadvadwadxadwadyadzacsadAaevadCadCaaMaaaabMabMadDadEachadFadGabMabMadHadIadqadJaaSabXadKadLadMadNadOadPadPadQadRadPadPaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMadSadTadUadVadWadXadYadZaaGaeaaebaaMaaaaaaabMaecaedachaeeaefabMaegaaSaehaeiaejaaSaekaoVapUamMaonalbalcakOaeraesaetadPadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMaaiaaiaaiaaiacNaeuaevaewaexaexaexaexaexaexabMabMaeyaezaeAabMabMaeBaeCaeDaeEaeFaeGaeHaqAaqFaffapVaiKaqzaeMaeNaeOaePaeQaeRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMaaiaaiaaiaaiacNaeuadBabRaexaexaexaexaexaexabMabMaeyaezaeAabMabMaeBaeCaeDaeEaeFaeGaeHaqAaqFaffapVaiKaqzaeMaeNaeOaePaeQaeRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeSaeTaeUaeVaeWadAaexaeXaeYaeYaeYaeYaegaeZafaafbafcafdaegafeaffafgafhafiafjafkaflaflafmarNafoarMafqafrafsaftafuafvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiafwafxafyafzadhafAaexafBafCafDafEafDafFafGafHafIafJafKafLafMafNafOafPafQafRafSafTafUafVarOafSasrafZagaagbagcagdadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiageaaoagfaggaghagiaexagjagkafDaglagmaegagnagoagpagqagraegagsaenagtaguagvagwaemagxagyagzagyaemarKagBagCagDagEagFaeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiagGagHagIagJagKadAaexagLagMagNagOagLabMagPagQagRagSagTaegagsaenagtagUagVagWagXagYagYagZagYahaarLahcahdaheaheahfahgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiahhahiahjaexahkahlahmahnahmahoahpahqahrahsahtahuahvaenagtahwahxahyaemahzagyahzagyahAarEahCahDahEahFadPadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahGahHadAaexahIahJahKahLahMahNahOahPahQahRahSahTahUahVagtahWahxahXaemagxagyagxahYahZarJadPadPaiaaibadPaicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaidaevaieaexaifaigaihaiiahMaijaikailahraimainahuaioaenagtaipaiqairaisaitaiuaemaivaiwareabYabXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiakFadBaieaexaifaigaihaiiahMaijaikailahraimainahuaioaenagtaipaiqairaisaitaiuaemaivaiwareabYabXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexaexaexaexagLaixaiyaizaexaiAaiBaiCaiiahMaegaiDaiEaiFaiGaiHaegaiIaiJaiKaiLaffaiMabXaiNaiOaiPaiQaiRarDaiTabXabXabYabYabYabYabYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaexaiUaiVaiWaiXaiYaiZajaaexajbajcajbajdajbaegagPagQajeagSagTaegabXajfajgabXajhajiabXajjajkajkajlabXajmaiTaiTabXaiSajnajoajoafXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaexajqajrajsajtajuajvajwajxajxajyajzajAajxajxajxajAajBajyajCajDajzajEajFajGajHafYajJajKajLajMagAahBasyajQajRafWaiTajSajTafpaeIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaexajWajXajYajZakaakbakcakdakeakfakgakhakiakjakdakiakkaklakmakiakgakhakiakiaknakoakpaiCakqakrafnaeKaeJajRakuabXaiTakvajoajoaeqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaexaexaexaexaexaexaexaexakxakyakzaexaexagLakAakBakCakDakEakFakGagLaexaexaexakHakIakJakJakKakLakMakNakJacdahbabXabXabYabYabYabYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaexaexaexaexaexaexaexaexakxakyakzaexaexagLakAakBakCakDakEabQakGagLaexaexaexakHakIakJakJakKakLakMakNakJacdahbabXabXabYabYabYabYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabakPaexakQakRakSakTakUakVakWakXakYakZalaaepaeoaldalealfalgakZalhaliakWaljalkakJallalmalnaloalpalqacdalralsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalualualualvalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaalvalvalualvalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabalwaexalxalyalzaexalAalBalCalDalEalFalGalHalIalJalKalLalgalMalNalDalOalPalkakJalQalRalRalSalRalTacdalralsaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaluaaaaabaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabalValWaexalXalYalZaexamaambamcamdameamfamgamhamiamjalKamkalgamfamlammamnamoampakJamqamralRalSalRamsacdalralsaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaluaabamtaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From fded10c9a5657261f10a81449d4fe2393a1d134f Mon Sep 17 00:00:00 2001 From: cib Date: Sun, 23 Jun 2013 12:18:46 +0200 Subject: [PATCH 16/31] Forgot icon for robot components. --- icons/obj/robot_component.dmi | Bin 0 -> 418 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/obj/robot_component.dmi diff --git a/icons/obj/robot_component.dmi b/icons/obj/robot_component.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7647b09b44feafaa0d0a60f95d035a1a6269f40a GIT binary patch literal 418 zcmV;T0bTxyP)fFDZ*Bkp zc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LY zR3KBSJijPAGcR3$i zqnP<10002JNklK|E7au(vNzy3>DPhR^;sssya9OW z9 Date: Sun, 23 Jun 2013 13:26:25 -0400 Subject: [PATCH 17/31] Fixes crew manifests showing alt titles as misc --- code/datums/datacore.dm | 19 ++++++++++++------- code/game/jobs/jobs.dm | 23 +++++++++++++++++++++++ 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 9afd8543295..f2f66b27cc1 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -7,8 +7,9 @@ manifest_inject(H) return -/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment, var/alt_title = null) +/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment) var/datum/data/record/foundrecord + var/real_title = assignment for(var/datum/data/record/t in data_core.general) if (t) @@ -16,14 +17,18 @@ foundrecord = t break + var/list/all_jobs = get_job_datums() + + for(var/datum/job/J in all_jobs) + var/list/alttitles = get_alternate_titles(J.title) + if(!J) continue + if(assignment in alttitles) + real_title = J.title + break + if(foundrecord) foundrecord.fields["rank"] = assignment - if(alt_title) - foundrecord.fields["real_rank"] = alt_title - else - foundrecord.fields["real_rank"] = assignment - - + foundrecord.fields["real_rank"] = real_title /obj/effect/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) if(H.mind && (H.mind.assigned_role != "MODE")) diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 1ba02a87b49..d13756bd9ee 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -117,3 +117,26 @@ var/list/nonhuman_positions = list( /proc/guest_jobbans(var/job) return ((job in command_positions) || (job in nonhuman_positions) || (job in security_positions)) + +/proc/get_job_datums() + var/list/occupations = list() + var/list/all_jobs = typesof(/datum/job) + + for(var/A in all_jobs) + var/datum/job/job = new A() + if(!job) continue + occupations += job + + return occupations + +/proc/get_alternate_titles(var/job) + var/list/jobs = get_job_datums() + var/list/titles = list() + + for(var/datum/job/J in jobs) + if(!J) continue + if(J.title == job) + titles = J.alt_titles + + return titles + From 1f7d39d99f66a9d3de47b982c13b925379d9ca11 Mon Sep 17 00:00:00 2001 From: Segrain Date: Sun, 23 Jun 2013 20:31:55 +0300 Subject: [PATCH 18/31] Stacks update. --- baystation12.dme | 3 - .../objects/items/stacks/sheets/mineral.dm | 1 - .../items/stacks/sheets/sheet_types.dm | 14 ++- code/game/objects/items/stacks/stack.dm | 112 ++++++++++++------ 4 files changed, 86 insertions(+), 44 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 889d36ae3f1..0ff2b2711b1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -54,9 +54,6 @@ #define FILE_DIR "sound/voice/Serithi" #define FILE_DIR "sound/vox" #define FILE_DIR "sound/weapons" -#define FILE_DIR "tools" -#define FILE_DIR "tools/AddToChangelog" -#define FILE_DIR "tools/AddToChangelog/AddToChangelog" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index c76ff2511f6..3671b6ce08e 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -124,7 +124,6 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \ throw_range = 3 origin_tech = "materials=3" perunit = 2000 - sheettype = "plastic" var/global/list/datum/stack_recipe/plastic_recipes = list ( \ new/datum/stack_recipe("plastic crate", /obj/structure/closet/pcrate, 10, one_per_turf = 1, on_floor = 1), \ diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 0dfabb85e12..767c6c69aab 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -13,10 +13,20 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ new/datum/stack_recipe("stool", /obj/structure/stool, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("chair", /obj/structure/stool/bed/chair, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("swivel chair", /obj/structure/stool/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("comfy chair", /obj/structure/stool/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("bed", /obj/structure/stool/bed, 2, one_per_turf = 1, on_floor = 1), \ null, \ + new/datum/stack_recipe_list("office chairs",list( \ + new/datum/stack_recipe("dark office chair", /obj/structure/stool/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("light office chair", /obj/structure/stool/bed/chair/office/light, 5, one_per_turf = 1, on_floor = 1), \ + ), 5), \ + new/datum/stack_recipe_list("comfy chairs", list( \ + new/datum/stack_recipe("beige comfy chair", /obj/structure/stool/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("black comfy chair", /obj/structure/stool/bed/chair/comfy/black, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("brown comfy chair", /obj/structure/stool/bed/chair/comfy/brown, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("lime comfy chair", /obj/structure/stool/bed/chair/comfy/lime, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("teal comfy chair", /obj/structure/stool/bed/chair/comfy/teal, 2, one_per_turf = 1, on_floor = 1), \ + ), 2), \ + null, \ new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \ new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \ diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 3c8b694d288..43ea24b112e 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -1,7 +1,8 @@ /* Stack type objects! * Contains: * Stacks - * Recipe datum + * Recipe datum + * Recipe list datum */ /* @@ -32,51 +33,66 @@ return /obj/item/stack/attack_self(mob/user as mob) - interact(user) + list_recipes(user) -/obj/item/stack/interact(mob/user as mob) +/obj/item/stack/proc/list_recipes(mob/user as mob, recipes_sublist) if (!recipes) return if (!src || amount<=0) user << browse(null, "window=stack") user.set_machine(src) //for correct work of onclose + var/list/recipe_list = recipes + if (recipes_sublist && recipe_list[recipes_sublist] && istype(recipe_list[recipes_sublist], /datum/stack_recipe_list)) + var/datum/stack_recipe_list/srl = recipe_list[recipes_sublist] + recipe_list = srl.recipes var/t1 = text("Constructions from []Amount Left: []
", src, src.amount) - for(var/i=1;i<=recipes.len,i++) - var/datum/stack_recipe/R = recipes[i] - if (isnull(R)) + for(var/i=1;i<=recipe_list.len,i++) + var/E = recipe_list[i] + if (isnull(E)) t1 += "
" continue - if (i>1 && !isnull(recipes[i-1])) + + if (i>1 && !isnull(recipe_list[i-1])) t1+="
" - var/max_multiplier = round(src.amount / R.req_amount) - var/title as text - var/can_build = 1 - can_build = can_build && (max_multiplier>0) - /* - if (R.one_per_turf) - can_build = can_build && !(locate(R.result_type) in usr.loc) - if (R.on_floor) - can_build = can_build && istype(usr.loc, /turf/simulated/floor) - */ - if (R.res_amount>1) - title+= "[R.res_amount]x [R.title]\s" - else - title+= "[R.title]" - title+= " ([R.req_amount] [src.singular_name]\s)" - if (can_build) - t1 += text("[] ", src, i, title) - else - t1 += text("[]", title) - continue - if (R.max_res_amount>1 && max_multiplier>1) - max_multiplier = min(max_multiplier, round(R.max_res_amount/R.res_amount)) - t1 += " |" - var/list/multipliers = list(5,10,25) - for (var/n in multipliers) - if (max_multiplier>=n) - t1 += " [n*R.res_amount]x" - if (!(max_multiplier in multipliers)) - t1 += " [max_multiplier*R.res_amount]x" + + if (istype(E, /datum/stack_recipe_list)) + var/datum/stack_recipe_list/srl = E + if (src.amount >= srl.req_amount) + t1 += "[srl.title] ([srl.req_amount] [src.singular_name]\s)" + else + t1 += "[srl.title] ([srl.req_amount] [src.singular_name]\s
" + + if (istype(E, /datum/stack_recipe)) + var/datum/stack_recipe/R = E + var/max_multiplier = round(src.amount / R.req_amount) + var/title as text + var/can_build = 1 + can_build = can_build && (max_multiplier>0) + /* + if (R.one_per_turf) + can_build = can_build && !(locate(R.result_type) in usr.loc) + if (R.on_floor) + can_build = can_build && istype(usr.loc, /turf/simulated/floor) + */ + if (R.res_amount>1) + title+= "[R.res_amount]x [R.title]\s" + else + title+= "[R.title]" + title+= " ([R.req_amount] [src.singular_name]\s)" + if (can_build) + t1 += text("[title] ") + else + t1 += text("[]", title) + continue + if (R.max_res_amount>1 && max_multiplier>1) + max_multiplier = min(max_multiplier, round(R.max_res_amount/R.res_amount)) + t1 += " |" + var/list/multipliers = list(5,10,25) + for (var/n in multipliers) + if (max_multiplier>=n) + t1 += " [n*R.res_amount]x" + if (!(max_multiplier in multipliers)) + t1 += " [max_multiplier*R.res_amount]x" t1 += "
" user << browse(t1, "window=stack") @@ -87,10 +103,18 @@ ..() if ((usr.restrained() || usr.stat || usr.get_active_hand() != src)) return + + if (href_list["sublist"] && !href_list["make"]) + list_recipes(usr, text2num(href_list["sublist"])) + if (href_list["make"]) if (src.amount < 1) del(src) //Never should happen - var/datum/stack_recipe/R = recipes[text2num(href_list["make"])] + var/list/recipes_list = recipes + if (href_list["sublist"]) + var/datum/stack_recipe_list/srl = recipes_list[text2num(href_list["sublist"])] + recipes_list = srl.recipes + var/datum/stack_recipe/R = recipes_list[text2num(href_list["make"])] var/multiplier = text2num(href_list["multiplier"]) if (!multiplier) multiplier = 1 if (src.amount < R.req_amount*multiplier) @@ -222,4 +246,16 @@ src.max_res_amount = max_res_amount src.time = time src.one_per_turf = one_per_turf - src.on_floor = on_floor \ No newline at end of file + src.on_floor = on_floor + +/* + * Recipe list datum + */ +/datum/stack_recipe_list + var/title = "ERROR" + var/list/recipes = null + var/req_amount = 1 + New(title, recipes, req_amount = 1) + src.title = title + src.recipes = recipes + src.req_amount = req_amount \ No newline at end of file From 7fec5309f7dd9125dd80f57a32d2483adb8a3dd0 Mon Sep 17 00:00:00 2001 From: Segrain Date: Sun, 23 Jun 2013 20:42:58 +0300 Subject: [PATCH 19/31] Airlock construction update. --- code/game/machinery/doors/airlock.dm | 116 ++--- code/game/machinery/doors/alarmlock.dm | 1 - .../items/stacks/sheets/sheet_types.dm | 19 +- code/game/objects/structures/door_assembly.dm | 441 ++++++------------ icons/obj/doors/door_assembly.dmi | Bin 36379 -> 36832 bytes 5 files changed, 197 insertions(+), 380 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 045257fc71d..c0b5f370fbc 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -86,7 +86,8 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. var/list/signalers[12] var/lockdownbyai = 0 autoclose = 1 - var/doortype = 0 + var/assembly_type = /obj/structure/door_assembly + var/mineral = null var/justzap = 0 var/safe = 1 normalspeed = 1 @@ -96,125 +97,122 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. /obj/machinery/door/airlock/command name = "Airlock" icon = 'icons/obj/doors/Doorcom.dmi' - doortype = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_com /obj/machinery/door/airlock/security name = "Airlock" icon = 'icons/obj/doors/Doorsec.dmi' - doortype = 2 + assembly_type = /obj/structure/door_assembly/door_assembly_sec /obj/machinery/door/airlock/engineering name = "Airlock" icon = 'icons/obj/doors/Dooreng.dmi' - doortype = 3 + assembly_type = /obj/structure/door_assembly/door_assembly_eng /obj/machinery/door/airlock/medical name = "Airlock" icon = 'icons/obj/doors/Doormed.dmi' - doortype = 4 + assembly_type = /obj/structure/door_assembly/door_assembly_med /obj/machinery/door/airlock/maintenance name = "Maintenance Access" icon = 'icons/obj/doors/Doormaint.dmi' - doortype = 5 + assembly_type = /obj/structure/door_assembly/door_assembly_mai /obj/machinery/door/airlock/external name = "External Airlock" icon = 'icons/obj/doors/Doorext.dmi' - doortype = 6 + assembly_type = /obj/structure/door_assembly/door_assembly_ext /obj/machinery/door/airlock/glass name = "Glass Airlock" icon = 'icons/obj/doors/Doorglass.dmi' opacity = 0 - doortype = 7 glass = 1 /obj/machinery/door/airlock/centcom name = "Airlock" icon = 'icons/obj/doors/Doorele.dmi' opacity = 0 - doortype = 8 /obj/machinery/door/airlock/vault name = "Vault" icon = 'icons/obj/doors/vault.dmi' opacity = 1 - doortype = 9 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. /obj/machinery/door/airlock/glass_large name = "Glass Airlock" icon = 'icons/obj/doors/Door2x1glassfull.dmi' opacity = 0 - doortype = 10 glass = 1 /obj/machinery/door/airlock/freezer name = "Freezer Airlock" icon = 'icons/obj/doors/Doorfreezer.dmi' opacity = 1 - doortype = 11 + assembly_type = /obj/structure/door_assembly/door_assembly_fre /obj/machinery/door/airlock/hatch name = "Airtight Hatch" icon = 'icons/obj/doors/Doorhatchele.dmi' opacity = 1 - doortype = 12 + assembly_type = /obj/structure/door_assembly/door_assembly_hatch /obj/machinery/door/airlock/maintenance_hatch name = "Maintenance Hatch" icon = 'icons/obj/doors/Doorhatchmaint2.dmi' opacity = 1 - doortype = 13 + assembly_type = /obj/structure/door_assembly/door_assembly_mhatch /obj/machinery/door/airlock/glass_command name = "Maintenance Hatch" icon = 'icons/obj/doors/Doorcomglass.dmi' opacity = 0 - doortype = 14 + assembly_type = /obj/structure/door_assembly/door_assembly_com glass = 1 /obj/machinery/door/airlock/glass_engineering name = "Maintenance Hatch" icon = 'icons/obj/doors/Doorengglass.dmi' opacity = 0 - doortype = 15 + assembly_type = /obj/structure/door_assembly/door_assembly_eng glass = 1 /obj/machinery/door/airlock/glass_security name = "Maintenance Hatch" icon = 'icons/obj/doors/Doorsecglass.dmi' opacity = 0 - doortype = 16 + assembly_type = /obj/structure/door_assembly/door_assembly_sec glass = 1 /obj/machinery/door/airlock/glass_medical name = "Maintenance Hatch" icon = 'icons/obj/doors/Doormedglass.dmi' opacity = 0 - doortype = 17 + assembly_type = /obj/structure/door_assembly/door_assembly_med glass = 1 /obj/machinery/door/airlock/mining name = "Mining Airlock" icon = 'icons/obj/doors/Doormining.dmi' - doortype = 18 + assembly_type = /obj/structure/door_assembly/door_assembly_min /obj/machinery/door/airlock/atmos name = "Atmospherics Airlock" icon = 'icons/obj/doors/Dooratmo.dmi' - doortype = 19 + assembly_type = /obj/structure/door_assembly/door_assembly_atmo /obj/machinery/door/airlock/research name = "Airlock" icon = 'icons/obj/doors/Doorresearch.dmi' - doortype = 20 + assembly_type = /obj/structure/door_assembly/door_assembly_research /obj/machinery/door/airlock/glass_research name = "Maintenance Hatch" icon = 'icons/obj/doors/Doorresearchglass.dmi' opacity = 0 - doortype = 21 + assembly_type = /obj/structure/door_assembly/door_assembly_research glass = 1 heat_proof = 1 @@ -222,40 +220,36 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. name = "Maintenance Hatch" icon = 'icons/obj/doors/Doorminingglass.dmi' opacity = 0 - doortype = 22 + assembly_type = /obj/structure/door_assembly/door_assembly_min glass = 1 /obj/machinery/door/airlock/glass_atmos name = "Maintenance Hatch" icon = 'icons/obj/doors/Dooratmoglass.dmi' opacity = 0 - doortype = 23 + assembly_type = /obj/structure/door_assembly/door_assembly_atmo glass = 1 /obj/machinery/door/airlock/gold name = "Gold Airlock" icon = 'icons/obj/doors/Doorgold.dmi' - var/mineral = "gold" - doortype = 24 + mineral = "gold" /obj/machinery/door/airlock/silver name = "Silver Airlock" icon = 'icons/obj/doors/Doorsilver.dmi' - var/mineral = "silver" - doortype = 25 + mineral = "silver" /obj/machinery/door/airlock/diamond name = "Diamond Airlock" icon = 'icons/obj/doors/Doordiamond.dmi' - var/mineral = "diamond" - doortype = 26 + mineral = "diamond" /obj/machinery/door/airlock/uranium name = "Uranium Airlock" desc = "And they said I was crazy." icon = 'icons/obj/doors/Dooruranium.dmi' - var/mineral = "uranium" - doortype = 27 + mineral = "uranium" var/last_event = 0 /obj/machinery/door/airlock/uranium/process() @@ -274,8 +268,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. name = "Plasma Airlock" desc = "No way this can end badly." icon = 'icons/obj/doors/Doorplasma.dmi' - var/mineral = "plasma" - doortype = 28 + mineral = "plasma" /obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) @@ -303,37 +296,35 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. W.ignite((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame for(var/obj/machinery/door/airlock/plasma/D in range(3,src)) D.ignite(temperature/4) - new/obj/structure/door_assembly/door_assembly_0( src.loc ) + new/obj/structure/door_assembly/*/door_assembly_0*/( src.loc ) del (src) /obj/machinery/door/airlock/clown name = "Bananium Airlock" icon = 'icons/obj/doors/Doorbananium.dmi' - var/mineral = "clown" - doortype = 29 + mineral = "clown" /obj/machinery/door/airlock/sandstone name = "Sandstone Airlock" icon = 'icons/obj/doors/Doorsand.dmi' - var/mineral = "sandstone" - doortype = 30 + mineral = "sandstone" /obj/machinery/door/airlock/science name = "Airlock" icon = 'icons/obj/doors/Doorsci.dmi' - doortype = 31 + assembly_type = /obj/structure/door_assembly/door_assembly_science /obj/machinery/door/airlock/glass_science name = "Glass Airlocks" icon = 'icons/obj/doors/Doorsciglass.dmi' opacity = 0 - doortype = 32 + assembly_type = /obj/structure/door_assembly/door_assembly_science glass = 1 /obj/machinery/door/airlock/highsecurity name = "High Tech Security Airlock" icon = 'icons/obj/doors/hightechsecurity.dmi' - doortype = 33 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity /* About the new airlock wires panel: @@ -1203,37 +1194,16 @@ About the new airlock wires panel: user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") if(do_after(user,40)) user << "\blue You removed the airlock electronics!" - switch(src.doortype) - if(0) new/obj/structure/door_assembly/door_assembly_0( src.loc ) - if(1) new/obj/structure/door_assembly/door_assembly_com( src.loc ) - if(2) new/obj/structure/door_assembly/door_assembly_sec( src.loc ) - if(3) new/obj/structure/door_assembly/door_assembly_eng( src.loc ) - if(4) new/obj/structure/door_assembly/door_assembly_med( src.loc ) - if(5) new/obj/structure/door_assembly/door_assembly_mai( src.loc ) - if(6) new/obj/structure/door_assembly/door_assembly_ext( src.loc ) - if(7) new/obj/structure/door_assembly/door_assembly_glass( src.loc ) - if(12) new/obj/structure/door_assembly/door_assembly_hatch( src.loc ) - if(13) new/obj/structure/door_assembly/door_assembly_mhatch( src.loc ) - if(14) new/obj/structure/door_assembly/door_assembly_com/glass( src.loc ) - if(15) new/obj/structure/door_assembly/door_assembly_eng/glass( src.loc ) - if(16) new/obj/structure/door_assembly/door_assembly_sec/glass( src.loc ) - if(17) new/obj/structure/door_assembly/door_assembly_med/glass( src.loc ) - if(18) new/obj/structure/door_assembly/door_assembly_min( src.loc ) - if(19) new/obj/structure/door_assembly/door_assembly_atmo( src.loc ) - if(20) new/obj/structure/door_assembly/door_assembly_research( src.loc ) - if(21) new/obj/structure/door_assembly/door_assembly_research/glass( src.loc ) - if(22) new/obj/structure/door_assembly/door_assembly_min/glass( src.loc ) - if(23) new/obj/structure/door_assembly/door_assembly_atmo/glass( src.loc ) - if(24) new/obj/structure/door_assembly/door_assembly_gold( src.loc ) - if(25) new/obj/structure/door_assembly/door_assembly_silver( src.loc ) - if(26) new/obj/structure/door_assembly/door_assembly_diamond( src.loc ) - if(27) new/obj/structure/door_assembly/door_assembly_uranium( src.loc ) - if(28) new/obj/structure/door_assembly/door_assembly_plasma( src.loc ) - if(29) new/obj/structure/door_assembly/door_assembly_clown( src.loc ) - if(30) new/obj/structure/door_assembly/door_assembly_sandstone( src.loc ) - if(31) new/obj/structure/door_assembly/door_assembly_science( src.loc ) - if(32) new/obj/structure/door_assembly/door_assembly_science/glass( src.loc ) - if(33) new/obj/structure/door_assembly/door_assembly_highsecurity(src.loc) + + var/obj/structure/door_assembly/da = new assembly_type(src.loc) + da.anchored = 1 + if(mineral) + da.glass = mineral + else if(glass) + da.glass = 1 + da.state = 1 + da.created_name = src.name + da.update_state() var/obj/item/weapon/airlock_electronics/ae if(!electronics) diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 2dd1d7ac79e..67e5c83dc30 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -3,7 +3,6 @@ name = "Glass Alarm Airlock" icon = 'icons/obj/doors/Doorglass.dmi' opacity = 0 - doortype = 7 glass = 1 var/datum/radio_frequency/air_connection diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 767c6c69aab..cef4c6dedb4 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -38,10 +38,27 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ null, \ new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, time = 25, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \ null, \ + new/datum/stack_recipe_list("airlock assemblies", list( \ + new/datum/stack_recipe("standart airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("command airlock assembly", /obj/structure/door_assembly/door_assembly_com, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("security airlock assembly", /obj/structure/door_assembly/door_assembly_sec, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("engineering airlock assembly", /obj/structure/door_assembly/door_assembly_eng, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + ), 4), \ + null, \ new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \ new/datum/stack_recipe("light fixture frame", /obj/item/light_fixture_frame, 2), \ new/datum/stack_recipe("small light fixture frame", /obj/item/light_fixture_frame/small, 1), \ diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 9930d8d84fb..8052fe52806 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -6,278 +6,100 @@ obj/structure/door_assembly anchored = 0 density = 1 var/state = 0 - var/mineral = null - var/base_icon_state = "door_as_0" - var/glass_base_icon_state = "door_as_g0" + var/base_icon_state = "" + var/base_name = "Airlock" var/obj/item/weapon/airlock_electronics/electronics = null - var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed - var/glass_type = /obj/machinery/door/airlock/glass - var/glass = null + var/airlock_type = "" //the type path of the airlock once completed + var/glass_type = "/glass" + var/glass = 0 // 0 = glass can be installed. -1 = glass can't be installed. 1 = glass is already installed. Text = mineral plating is installed instead. var/created_name = null New() - base_icon_state = copytext(icon_state,1,lentext(icon_state)) - - door_assembly_0 - name = "Airlock Assembly" - icon_state = "door_as_1" - airlock_type = /obj/machinery/door/airlock - anchored = 1 - density = 1 - state = 1 - glass = 0 + update_state() door_assembly_com - name = "Command Airlock Assembly" - icon_state = "door_as_com1" - glass_base_icon_state = "door_as_gcom" - glass_type = /obj/machinery/door/airlock/glass_command - airlock_type = /obj/machinery/door/airlock/command - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_gcom1" + base_icon_state = "com" + base_name = "Command Airlock" + glass_type = "/glass_command" + airlock_type = "/command" door_assembly_sec - name = "Security Airlock Assembly" - icon_state = "door_as_sec1" - glass_base_icon_state = "door_as_gsec" - glass_type = /obj/machinery/door/airlock/glass_security - airlock_type = /obj/machinery/door/airlock/security - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_gsec1" + base_icon_state = "sec" + base_name = "Security Airlock" + glass_type = "/glass_security" + airlock_type = "/security" door_assembly_eng - name = "Engineering Airlock Assembly" - icon_state = "door_as_eng1" - glass_base_icon_state = "door_as_geng" - glass_type = /obj/machinery/door/airlock/glass_engineering - airlock_type = /obj/machinery/door/airlock/engineering - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_geng1" + base_icon_state = "eng" + base_name = "Engineering Airlock" + glass_type = "/glass_engineering" + airlock_type = "/engineering" door_assembly_min - name = "Mining Airlock Assembly" - icon_state = "door_as_min1" - glass_base_icon_state = "door_as_gmin" - glass_type = /obj/machinery/door/airlock/glass_mining - airlock_type = /obj/machinery/door/airlock/mining - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_gmin1" + base_icon_state = "min" + base_name = "Mining Airlock" + glass_type = "/glass_mining" + airlock_type = "/mining" door_assembly_atmo - name = "Atmospherics Airlock Assembly" - icon_state = "door_as_atmo1" - glass_base_icon_state = "door_as_gatmo" - glass_type = /obj/machinery/door/airlock/glass_atmos - airlock_type = /obj/machinery/door/airlock/atmos - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_gatmo1" + base_icon_state = "atmo" + base_name = "Atmospherics Airlock" + glass_type = "/glass_atmos" + airlock_type = "/atmos" door_assembly_research - name = "Research Airlock Assembly" - icon_state = "door_as_res1" - glass_base_icon_state = "door_as_gres" - glass_type = /obj/machinery/door/airlock/glass_research - airlock_type = /obj/machinery/door/airlock/research - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_gres1" + base_icon_state = "res" + base_name = "Research Airlock" + glass_type = "/glass_research" + airlock_type = "/research" door_assembly_science - name = "Science Airlock Assembly" - icon_state = "door_as_sci1" - glass_base_icon_state = "door_as_gsci" - glass_type = /obj/machinery/door/airlock/glass_science - airlock_type = /obj/machinery/door/airlock/science - anchored = 1 - density = 1 - state = 1 - glass = 0 - - glass - glass = 1 - icon_state = "door_as_gsci1" + base_icon_state = "sci" + base_name = "Science Airlock" + glass_type = "/glass_science" + airlock_type = "/science" door_assembly_med - name = "Medical Airlock Assembly" - icon_state = "door_as_med1" - airlock_type = /obj/machinery/door/airlock/medical - anchored = 1 - density = 1 - state = 1 - - glass - mineral = "glass" - icon_state = "door_as_gmed1" + base_icon_state = "med" + base_name = "Medical Airlock" + glass_type = "/glass_medical" + airlock_type = "/medical" door_assembly_mai - name = "Maintenance Airlock Assembly" - icon_state = "door_as_mai1" - airlock_type = /obj/machinery/door/airlock/maintenance - anchored = 1 - density = 1 - state = 1 - glass = 0 + base_icon_state = "mai" + base_name = "Maintenance Airlock" + airlock_type = "/maintenance" + glass = -1 door_assembly_ext - name = "External Airlock Assembly" - icon_state = "door_as_ext1" - airlock_type = /obj/machinery/door/airlock/external - anchored = 1 - density = 1 - state = 1 - glass = 0 + base_icon_state = "ext" + base_name = "External Airlock" + airlock_type = "/external" + glass = -1 door_assembly_fre - name = "Freezer Airlock Assembly" - icon_state = "door_as_fre1" - airlock_type = /obj/machinery/door/airlock/freezer - anchored = 1 - density = 1 - state = 1 - glass = 0 + base_icon_state = "fre" + base_name = "Freezer Airlock" + airlock_type = "/freezer" + glass = -1 door_assembly_hatch - name = "Airtight Hatch Assembly" - icon_state = "door_as_hatch1" - airlock_type = /obj/machinery/door/airlock/hatch - anchored = 1 - density = 1 - state = 1 - glass = 0 + base_icon_state = "hatch" + base_name = "Airtight Hatch" + airlock_type = "/hatch" + glass = -1 door_assembly_mhatch - name = "Maintenance Hatch Assembly" - icon_state = "door_as_mhatch1" - airlock_type = /obj/machinery/door/airlock/maintenance_hatch - anchored = 1 - density = 1 - state = 1 - glass = 0 - - door_assembly_glass - name = "Glass Airlock Assembly" - icon_state = "door_as_g1" - airlock_type = /obj/machinery/door/airlock/glass - anchored = 1 - density = 1 - state = 1 - mineral = "glass" - - door_assembly_gold - name = "Gold Airlock Assembly" - icon_state = "door_as_gold1" - airlock_type = /obj/machinery/door/airlock/gold - anchored = 1 - density = 1 - state = 1 - mineral = "gold" - - door_assembly_silver - name = "Silver Airlock Assembly" - icon_state = "door_as_silver1" - airlock_type = /obj/machinery/door/airlock/silver - anchored = 1 - density = 1 - state = 1 - mineral = "silver" - - door_assembly_diamond - name = "Diamond Airlock Assembly" - icon_state = "door_as_diamond1" - airlock_type = /obj/machinery/door/airlock/diamond - anchored = 1 - density = 1 - state = 1 - mineral = "diamond" - - door_assembly_uranium - name = "Uranium Airlock Assembly" - icon_state = "door_as_uranium1" - airlock_type = /obj/machinery/door/airlock/uranium - anchored = 1 - density = 1 - state = 1 - mineral = "uranium" - - door_assembly_plasma - name = "Plasma Airlock Assembly" - icon_state = "door_as_plasma1" - airlock_type = /obj/machinery/door/airlock/plasma - anchored = 1 - density = 1 - state = 1 - mineral = "plasma" - - door_assembly_clown - name = "Bananium Airlock Assembly" - icon_state = "door_as_clown1" - airlock_type = /obj/machinery/door/airlock/clown - anchored = 1 - density = 1 - state = 1 - mineral = "clown" - - door_assembly_sandstone - name = "Sandstone Airlock Assembly" - icon_state = "door_as_sandstone1" - airlock_type = /obj/machinery/door/airlock/sandstone - anchored = 1 - density = 1 - state = 1 - mineral = "sandstone" - - door_assembly_sandstone - name = "Sandstone Airlock Assembly" - icon_state = "door_as_sandstone1" - airlock_type = /obj/machinery/door/airlock/sandstone - anchored = 1 - density = 1 - state = 1 - mineral = "sandstone" + base_icon_state = "mhatch" + base_name = "Maintenance Hatch" + airlock_type = "/maintenance_hatch" + glass = -1 door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly - name = "High Tech Security Assembly" - icon_state = "door_as_highsec1" - airlock_type = /obj/machinery/door/airlock/highsecurity - anchored = 1 - density = 1 - state = 1 - glass = 0 + base_icon_state = "highsec" + base_name = "High Security Airlock" + airlock_type = "/highsecurity" + glass = -1 /obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/pen)) @@ -287,46 +109,47 @@ obj/structure/door_assembly created_name = t return - if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) + if(istype(W, /obj/item/weapon/weldingtool) && ( (istext(glass)) || (glass == 1) || (!anchored) )) var/obj/item/weapon/weldingtool/WT = W - if(WT.remove_fuel(0,user)) - user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.") + if (WT.remove_fuel(0, user)) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - - if(do_after(user, 40)) - if(!src || !WT.isOn()) return - user << "\blue You dissasembled the airlock assembly!" - new /obj/item/stack/sheet/metal(get_turf(src), 4) - if (mineral) - if (mineral == "glass") - new /obj/item/stack/sheet/rglass(get_turf(src)) - else - var/M = text2path("/obj/item/stack/sheet/mineral/[mineral]") - new M(get_turf(src)) - new M(get_turf(src)) - del(src) + if(istext(glass)) + user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.") + if(do_after(user, 40)) + if(!src || !WT.isOn()) return + user << "\blue You welded the [glass] plating off!" + var/M = text2path("/obj/item/stack/sheet/mineral/[glass]") + new M(src.loc, 2) + glass = 0 + else if(glass == 1) + user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.") + if(do_after(user, 40)) + if(!src || !WT.isOn()) return + user << "\blue You welded the glass panel out!" + new /obj/item/stack/sheet/rglass(src.loc) + glass = 0 + else if(!anchored) + user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.") + if(do_after(user, 40)) + if(!src || !WT.isOn()) return + user << "\blue You dissasembled the airlock assembly!" + new /obj/item/stack/sheet/metal(src.loc, 4) + del (src) else - user << "\blue You need more welding fuel to dissassemble the airlock assembly." + user << "\blue You need more welding fuel." return - else if(istype(W, /obj/item/weapon/wrench) && !anchored ) + else if(istype(W, /obj/item/weapon/wrench) && state == 0) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user.visible_message("[user] secures the airlock assembly to the floor.", "You start to secure the airlock assembly to the floor.") + if(anchored) + user.visible_message("[user] unsecures the airlock assembly from the floor.", "You start to unsecure the airlock assembly from the floor.") + else + user.visible_message("[user] secures the airlock assembly to the floor.", "You start to secure the airlock assembly to the floor.") if(do_after(user, 40)) if(!src) return - user << "\blue You secured the airlock assembly!" - src.name = "Secured Airlock Assembly" - src.anchored = 1 - - else if(istype(W, /obj/item/weapon/wrench) && anchored ) - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user.visible_message("[user] unsecures the airlock assembly from the floor.", "You start to unsecure the airlock assembly from the floor.") - if(do_after(user, 40)) - if(!src) return - user << "\blue You unsecured the airlock assembly!" - src.name = "Airlock Assembly" - src.anchored = 0 + user << "\blue You [anchored? "un" : ""]secured the airlock assembly!" + anchored = !anchored else if(istype(W, /obj/item/weapon/cable_coil) && state == 0 && anchored ) var/obj/item/weapon/cable_coil/coil = W @@ -336,7 +159,6 @@ obj/structure/door_assembly coil.use(1) src.state = 1 user << "\blue You wire the Airlock!" - src.name = "Wired Airlock Assembly" else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 ) playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) @@ -345,9 +167,8 @@ obj/structure/door_assembly if(do_after(user, 40)) if(!src) return user << "\blue You cut the airlock wires.!" - new/obj/item/weapon/cable_coil(get_turf(user), 1) + new/obj/item/weapon/cable_coil(src.loc, 1) src.state = 0 - src.name = "Secured Airlock Assembly" else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 && W:icon_state != "door_electronics_smoked") playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) @@ -364,8 +185,6 @@ obj/structure/door_assembly else W.loc = src.loc - //del(W) - else if(istype(W, /obj/item/weapon/crowbar) && state == 2 ) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to install electronics into the airlock assembly.") @@ -382,32 +201,28 @@ obj/structure/door_assembly ae = electronics electronics = null ae.loc = src.loc - else if(istype(W, /obj/item/stack/sheet) && !mineral) - var/obj/item/stack/sheet/G = W - if(G) - if(G.amount>=1) - if(G.type == /obj/item/stack/sheet/rglass) + + else if(istype(W, /obj/item/stack/sheet) && !glass) + var/obj/item/stack/sheet/S = W + if (S) + if (S.amount>=1) + if(istype(S, /obj/item/stack/sheet/rglass)) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.") + user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 40)) user << "\blue You installed reinforced glass windows into the airlock assembly!" - G.use(1) - src.mineral = "glass" - src.name = "Near finished Window Airlock Assembly" - src.airlock_type = /obj/machinery/door/airlock/glass - src.base_icon_state = "door_as_g" //this will be applied to the icon_state with the correct state number at the proc's end. - else if(istype(G, /obj/item/stack/sheet/mineral)) - var/M = G.sheettype - if(G.amount>=2) + S.use(1) + glass = 1 + else if(istype(S, /obj/item/stack/sheet/mineral) && S.sheettype) + var/M = S.sheettype + if(S.amount>=2) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.") + user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 40)) user << "\blue You installed [M] plating into the airlock assembly!" - G.use(2) - src.mineral = "[M]" - src.name = "Near finished [M] Airlock Assembly" - src.airlock_type = text2path ("/obj/machinery/door/airlock/[M]") - src.base_icon_state = "door_as_[M]" + S.use(2) + glass = "[M]" + else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 ) playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) user << "\blue Now finishing the airlock." @@ -415,11 +230,15 @@ obj/structure/door_assembly if(do_after(user, 40)) if(!src) return user << "\blue You finish the airlock!" - var/obj/machinery/door/airlock/door - if (mineral) - airlock_type = text2path("/obj/machinery/door/airlock/[mineral]") - door = new src.airlock_type( src.loc ) - //door.req_access = src.req_access + var/path + if(istext(glass)) + path = text2path("/obj/machinery/door/airlock/[glass]") + else if (glass == 1) + path = text2path("/obj/machinery/door/airlock[glass_type]") + else + path = text2path("/obj/machinery/door/airlock[airlock_type]") + var/obj/machinery/door/airlock/door = new path(src.loc) + door.assembly_type = type door.electronics = src.electronics if(src.electronics.one_access) door.req_access = null @@ -428,11 +247,23 @@ obj/structure/door_assembly door.req_access = src.electronics.conf_access if(created_name) door.name = created_name + else + door.name = "[istext(glass) ? "[glass] airlock" : base_name]" src.electronics.loc = door del(src) else ..() - icon_state = "[base_icon_state][state]" - //This updates the icon_state. They are named as "door_as1_eng" where the 1 in that example - //represents what state it's in. So the most generic algorithm for the correct updating of - //this is simply to change the number. \ No newline at end of file + update_state() + +/obj/structure/door_assembly/proc/update_state() + icon_state = "door_as_[glass == 1 ? "g" : ""][istext(glass) ? glass : base_icon_state][state]" + name = "" + switch (state) + if(0) + if (anchored) + name = "Secured " + if(1) + name = "Wired " + if(2) + name = "Near Finished " + name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly" \ No newline at end of file diff --git a/icons/obj/doors/door_assembly.dmi b/icons/obj/doors/door_assembly.dmi index 691f53a76f3790833b45cb7869087533eef23d7c..3cc3b44b4a3e6448ce469230e5275a411474b3ae 100644 GIT binary patch literal 36832 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 ZK0G6%+2-U*_U! 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

degDZ=Jwb57gycMyzfxY&U;~ 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 literal 36379 zcmZ6y1y~f(`#nB@bcu8>hzf#~(zPH0A`Jq9q$u4T3k!%KD4+tOgp`y>C=IfdNOwst zOLxaEEbM>Q&$oX6=b3qSc6Z{=+&lL@=e*~Q(bG| zm!B_76##%RDCqGMp9e3zZM_^ld>q}~03aYe<5Qm#uh`YdfiDGDyF$7KEJI8=m>?fa zMDLG${QYQy`!*N!lFN>evY4)8wAyr>TdToP(MEG81Z?6 zHP4X!Hj%PE-}%&J0-Cq+XrqwJZUr{9d~hVnX_xs%_S@>ZN1yEQ**SE%;tA%uF(NkE zm}|5<(Jb(>;DD3#PQJpGl>v)sw*!Q0N{;*V&5ghO+a@{gD)^5=@WUtWZSy)CYxao5 z-G~C`=aB<`1k(rMrW*^D%Lkuh6?yVv6nT=t^;L|bvM&MZ&O>`;dCCLT?PUw*s+3dn zQOh|`{qyk9T-FV#)a?KIxQDgO{y!^S^?ec>!RJ^1^AR=4|E}nBqLgarpOgC9A};Bj zV1?<&w0D9V1tiCa>VhSlzma;KR_Epiar?V7JK?`bj{o}tb^W$nSN3`72e=l2Yc{xk z&M5uUWhiG6m$>Rz&&H>_<0IiVZ@@tXAsy*xL3@hA^CQe@K2vzfJQwI(epjTVd4tSe zS(b9a^j+Dfi<>{)UkdwGG(9f(1dv8GaSsmA1IM;xF)a( zhSkPzu0C70rBAe6q%0~tE>MDOw-c^7C35osl6neD*w|kDsfWPF~{i0ycGbr z0gVUBj|0-T8iQdBV;4AF>TK7Joj0;iA^a-05}_DD#1o|}H)C5nBri>Lyc+YU-;zEwh?7`!(pK>N>{HPxegt8c(D%S>z18WLl4%e?^z&%4x^*TNQHm z8q%iwr_v`Dedm(El_BSTvFF%PLtQbB ziA?_3zMPSD07x4MorBuE_pU;jOtw_7n?0);mm;U^CwQ{CT(RW$p3!)6akZK3Q5_&8@FzyLt0w zsH>;BPGlJsZnVfSU>#yNM{0i7>S$%J#cGK(y%mpmn!LSwdT zc<dEIwAaOV^NLaH)}E8D;Jk^*Zar*w$B zu#M_zH%j!*r5{B^WSHz{t!@1c1$aW@}6Inc6H88j9@^Ze&PVS|tKV z%!Q>hbS5k5=;#Iq#X~Cs?{NjK@szQxmF?71l9Q+mN&@qLtxJ;kk{6qfhR7!?)3=!J z9sN)Pn%jAIyT+AdNX5smWA_(FW}?^D92~05Le=4L=yzj5fcx&<56HR6N!G!_vcrA* zw7ukI?|yX%BXJ`n%`Z)en;8%nr>53cfiNyhWz5d<0S;H z3Ldx%0?zk}0u%%C=PuSyH^*D%rZv$v%@f074({^TA0^&(6h5%&gK<8nY56<6_3QStn%WaH+4CQCm}0l;-!Yz=4;6A+9DSCcN-+k_YJS z{a5{~^$;ZH3y;J_tuXbuBMd^=Fq7rDK2@@e_nQpSo&P@v}N)-Y#Du@lrB>;qh@T@ zjMA(`rKy-XDdF(FAe=ej7b((?taN4FxuJ2N%-~iZG0A6rsV((9m% z8h50QD-w}0Rpo4=#LiJ%UvD;yp$lC@ryt%%tlRIZ{k~|%J;|buIi?pQk4Pm?Ptj8Z6=Zq&_uhj#PcE}H9%{OzCNcFG*2@@=DO ze6F3=o*VW8(;^E2%8%0`bT)PG-$Ds?n8d|MRdeNNx_MHP!eZJ=Dm~H$@DU%g z@BbuI@p-T9rLMRq;}KCa@^_Bj>%EQycxknyqS(FSY)tR|?$_0&ZPG>0Je|yA)x-4- zRSi=^+PhSXF=8wm5mn5#qT}~~MEMtIsE_wLmMFIq1kgUX{@`0ua6pR5PG+3ScNfCAVt(QQAuCZvOSJexo}ew0!(Zy3a}CT^fS zskQoh&X-_gQkr}N-RGb7Ye@_$@?qm+bLrm`bPG|#q-?fateGCw4UIA~zTKk=Z#%{^ zlhaPS>b`Z~G!3kP=E?7b+6LK$*vYSWk>fwehV{Wg1&i`{3CF2>RHt}k4 zOfbLq%Z2CckKA^{m0rx(s+}3e$-r0I7Td0gbw{+&gV#%1k9B6ZOIY{29OHcX5<>ZW zH;zJ><4vp-ZsI;9Y{r{dDEOYF&*rb39BCx-Wn9PZ%@es$kF1vmj)_~ikv1h5&bF8U zoheYH&Fge(9Rw9PqwJ1dS=wX~9#&T+6(C+++Jt>|K|6PY0}`F#T4MNNm`_S_Jl*n( zf?QepGZz1o^ht=+7e%A=j|#rDECEzqU8^r>XVl5TPl70oG}+_BKO=l)-Cq>Wd6PS~ zyZd`CYJaSZGHR?Rvh{+e!*>=STIWHWZ*gKFBG)>Zd%r6gTBLUcA-R-#7yslk?oLq4 zIjOQ5t`Me_XsNq5=$g|(+j=Wf-q^nT{q^f2x0#;*R~l7SRqRP@EXCJeUm^e{*d;}j zn6I@i?VW!z+{=2;>N_-WVWX?UF4WwA;kU$OVBoUQs#962Y%rIL#R^B@-MyaS;cT*k z=`TSWXANAJ&YIhk%Zc{==-Qp7edh}M0bzG(-?ORjGrwjzh2s4C)5R{3=9b{If`Tn) zi{D`i;nHkB;bKm1+G){qh%DpCbaUTmO~x7Vckf}K34{+J^Z~(!%(1b?&#VGvnq1er zlM4&&o9IIw(2R_Xz+V{vY=2>)h`RA}NtX=HKn>Q!RFbojZ{JPtfmb+K>fZV_lR!Yi zI+7o1=jK{}INUnpu6WS)Fg7-VQpw=O&2I$rulPb?eY(5mZDGoOmOCBCe7cr$H$`^o zV+k`piPd$DzgQtcT}AwaW&dfz080A$?+dX~TM9a8ibEAiT5GUXT9WMMY}Dp#aT6_I zyee*Lf*c4k!=VSCDn|AiuYUPb;w-vT);vp2bEiTEeQgz#sUe_zoEpX&N zNXMD{i}BYfb1`)+xeJ70>kevimedaP=WK1gOe81=$~H0i{RsN!@M%IH`eLOFuiP{)ZM8)jF*d0j1O;NS^7Lu0QWCY57RgoLM)*Bmd7Pdogys!s1lnh9jgstKuH=Mxx0!W-4H8{y`;u4S;8p~8DByFcw zg$_~pk?Fo-K~FrSYU{|Lmy}xJceoS*-g%RV`ct!1fbNmZaDE(H*^10U6t6q@lT`uc@V+N zVgY7LqdEqZd%)wqCipb^zP7MA>Xa?v@rNed)k9jRZ~EbnVDeV1h|wnTJPfZB;fJT8 zTg&Pv-77;*RSp?F39`%1G1*H*&D+tq$P^qBXBa8+J@0nQKzDcRq+n^Yea*~5m7-Ed zd-Y>mGdp_V`SMC=&?P!1dBkqu#7l9&Wj5CSO9<21Cl-zKp)sID09@v4E;dq{em7ZO zUc@_AtilZZvFPru3NI)zarY<5qITF1g%@`)c}C))1iNNN{FoO~waUd5drONdbnFNr zY*cQ8Se=LJAm=;h@$c{N!27J4gwoW}=k6Jr!O1wieS)k(mE6HxDyyB-vKv;(A3lfC zt8b{5CG}>1UO;X+El5`&5%s0xBoRJ~=u0IzHY`oq+l-mB#Jkm6a$hVDwcYU)dK~`x8Dy|0=HG z;)}a*BI5rSx03Gn^j{csyQi z)la?)Ln7hQdq&&pql5ms%#BkCg`VZVh<$^vzYBALRTPkeTY5Eog!yfkZLdAnH%=bR zTL)5td)fSWGN?I{Wkd`+H$114xZfpmLI3m|r}`rAIt*!M#*YE-GmAtnw8U8OXGO(O zXr$0pg$&N3KX1FVwe6ihYIkKco+m;Z_wolZ-|JSh7d`)=X=TpAo3_wQS!fq5y8^KI z%KrODS8@OMJNh8UY4*vw3aIlpnTpX*iglCEcIKV4@JOomAj6#DZ7mY_q%tHSsp)I1 z8eP(&=7pwV>TV4=|Kv@sFVg0ok|3S39$kM2(xZro2%zpyf_vS*nkwc|1{4@-y_=q| z-M6#t;Mm>U`?;zKs|yd%UV|Cq)>g;-YBn5n)zzC{hR*NVSa;CO?4wF)x7>`3x^#C- znPjtREnzDIiFQj|YYwixpJaV0kPX`C?t^9VYwEntytZ^!m)a9Jr+~nYPgY6UcOa~9 zTBCMP39^zsS=#9AbH9C~I2$X@p01;Xh>AXMboTr5D__AnVA3aPm!DJQbo|=*k z+AQ?asP`_;(>n(2m$RV(UDNb0@aiv6xRHUH@gm0CSNYg%v(judqgYd?zthR7L=K+Z z-j3Z2hBlrj4U#t=&e$T~=;|n_qfsriF?X3z-xW0K4s_8UV2sVBbnM^N*yBEUM{I9{ zZx$KU2X=eqgb#ipD%B4w?+cWoPu_dxe1X~hI?#EZn!|5quci1Wk5-(+5ZoY%%^C4N zK)5w{T;6?f^Ow)&1-l;<^P3*{J9Ha9bp)lQ4-MFBc-o%*a7ld1At{|+7FHUKR0CPd zIu;9iY+{mITH3!m97%3{N-f2fmn6N)XU>qZr_!;S4hMO4=t)H;NSb;k~^4g}x`a1H+7~+Pf#*&%rAL>swG=z%Ywy&-$$lX?x6&v$e zw7|_`&!LyXwij)*izZFjo6xWCK^i$BUrhw^fWcWa_R-vkeLPTGb zT7K0^?UCcjUXtaBrjPqjfpV66F>HR+5QG^3>3Sx~Uz>1{Wm6dc_YsNQRSl${9$b8w^alS{0ALh zxd5OxfZLkv)~}H1dd0KnPh~C?wU>-KJOub-2~{yAkAsACgnK(;ycNT5wDW)i$$sDq zG2r9tOT6TLupN0V{vo*<*l_uOA_PS~HZEDs?2;V5g*kFEM$)urzMB#$#i5vH<{S2cRa5Po5h8} z>9Nfh|7RBgn}}E5&(O@kWl_u8nC0hXKmv5_3{WkjEWNM@G9YCH+AB z-(zl+;D8CiLhGt7f>hi9p3EbpObZ)k}7JAyeew+ag z1=2=tt(0~~=^^RZJ@U-G4($uz%y(#Co5s0DnVAzQJ`PKm9utAlfz#s4P~gUIfph!t ze>?epS7Gt6!?;UAzNI6Kk;9=o<( z1-#dXu_5^W!P?&B`KXrCzI^=k$CLtAQ3raaEd^j09bxvlo|2J#yvO3a_|ANR2CtJZ zEIW6lxu@anP2{pq^)MZsqi{h*a{fAlckm|p*K3Gj*qqmh)nC51)WXj%BWF2EOj>4$ z-Y*${eV-b8Cp~;6`0jl=kbD5;jg&XA&)3d#?U@(nmKt*xph13OObeNjkUv=ERo>73 z-_e?U8FLF&DtZw7%xRey?k&HV4c+YmDGMF0F(-#GP@|x6_-g1HCi(-8(%!bB+-17> zb!ztg5i9e*!ModQTBYhs3-^D`eOZ2?UWP0F8q#Q)FkuV7GsX2eF-(OtEHSu07Ts7e z>CuS?9jR4vT@&P-k1or^mOIk9u^vm&-|dSF3(3yAdoa72CZ&;$mz9|ukr1cLXhC@F z3yHF*w@n2D=eyJ>!M4>XuI{l15i>KAL2P`=#F8elk0eEnC`E12S2PmB zg?%yorvq~}^zR{t=QVIfiX?{6Q}pwiaGY9YCa5*;HlCh@ zNiG?)QC1SNqN1Tz;3#lf|Mh9ud9y(YP5%;dBp){9ggRJ$SXdg>V@M1Pe)_YGjK71+ z%4cIN{M~Vwj4BKMMIx-r=oYMdUb5U%BDCe+XB!V?I)#g4f7Ie~QGy{CMEgP+%!X$f zJ0z}=K?ebQM6YPNWZ4>1PSWyWmfE*iT&I;`%!omaWt$sswvX= zpo_89dIuM9NPs(q|H3@7g3BNVF%KQ(ci;vuUUXu@jxJ~!t=2b1+E*Lng5uTh<|e`T zQm*j6X(!~=ere3uEDp(mDDk5;zd1-#Q0Rp}8oJcm>v8jVDa_xTm_Q^Od5O(KQ;J;D zQzqJm$uuY2DcfJCwb*LUCTbo?JSCKArc7?Okl9M;1ZPUQi%M0BZI@z;s8`Imn3o@Y zhAylE-g9Ph2_SYaXeE%RXVH{R!e_VMADRa2XYw@QvKM;5hqa%KxHN!WLYluuIlTYz zUYbpYJrBA4O20rwM~CK7)3o3t=0}$&yZw4eWk(p&9^@x)>rq(0n)Lq5MjWnab+;$Q z*_%r^FRu0nvg#FCs|M8!k(>-}nz=VF6pmejNT8R)eo zc@VLe`9$I}`$(10Hr*+k0UVkLWp&qO^t}=4CcK6e?ZTk9?jP)FF(>7bl%!PS&39C6 z5>25EO4ay7dUyTn*&pvcCpwTA9&%8kKktk=J5eWt{z8j43)3=heS0wT;W_V^Zy<7> zH>r6I69M8oaDMIHuPAYM%{X23|FTuUpT?%OfXRO&xoKaPa2qQ8!r-kKPgHfVyl&Rl zC7V`STE&prXGDs!gRDM09B$&Ww>|eZnJVb#$e>t^IVl4QXMfOy*`(f-V`@Y+5-Y52~;#)CJC^^!@cEG4o;s0@ej;r_N`sO$ritW z(^I8r_T#O<>>sFypYX^C3?JYEF+;=>p@r!?To>nCFY@y8J{Z0aIn)gKsHq7?<51D- z;EapiTOENd%2{rHicUuP%JXcLkvirIq z61R=&(cp-Rzz2r5&$_3_KR)xvZkt$t3QN}HkoD=@lndT#d1Ffepy20dua-43+;qq3 zEE5&H66{XY2-LJ&tt`##F#2?bI9IzAJ`))0#> zwP<*bNhe}+rUP>*n9^q|-%0fAv%lD;wY}2m0h4>TynKouV=A=&ji1BZ++55j3^0g9 z(iSJj=`ygg26%mj;{WbGa10aTZV;GKWqtF;V9=3O$>s6y*QoG+9ftUc1yevEw|FxQ z=D*sUs;+}+EMC{oH2Cz)a&aW_^UJqaE{Vg+B+!@0cbk!C+tA-V>7J4>*WGUp(LBaP zt+WtC@G)gtZ{mcTXIZGt$dki!_*v6*FQw+C^j6uwV!j^N|gBF zxLn3OU~ix=r<$L3*=GFGK`7GoJ@|9LZjYVDIX=o_*Or?CLE7cV5W!Zyb9wyIwkyHn z5Z+XfWyc@&j9;qn2yxLFBHZF|1w^cHggXVW7awkDVZj+28*43@)>zFRr*?FDYP;H> zpGRy?Nd%uy1I5nV-#IhL*of^;%@f&k zA&ZO)+dg+0Z)Inof{JYVL|p*17-=KTWCW_3!8H^(fM!5)pd zl^+ob_&inT`s8ru0eZ1}mvpe~O}x9;lLqSgHFUn%YQt#Ao*qpAKk2f*41dC-zwsL2 zVMGF-%$5UU!OQ^Uh=^M;Xo;8Z&wY?f!=kI?w82=rQSMg|Cy{wj$g(3*t1;S(ztn|B z*+fDt)C?Sjdl=HNCN{O2v98_BB>6L<_s{UirXK?Ur-~n8Rt2~4sBZDR*k)?mFSKdM zfrAeE?q3E#?uMc);jD3iiFVtH$NstW?8SYB|KKfNFG*<(D0T-T+NLs!-o#6VztI$> zftA|Hp}#zvj5!Zb_iNB_iHJaviu7Qs3R~y1TKO+us7@@a8S^E>)Byp?B7pSwD|A#XAZ_-oZ`B*mf z>MJ-xkW^Y#q!M^oCb^?rtaa>YZ?QW4s@|Qt8AA%pcm&2dJWZb?;r;@d5MCnUhP}d6 z&USH2s0nok%*p>ECL=8RKk)3qY78YlaZuj_>iz!;mtkD>NXz27cx3(`xK6De11#YOSwh(iJ2o5hpgM?2$^Smq@9EVjtmRjrn z^&)pHL}T{&fF`Wwyw)L=KBB%}R{YdlIM$4ORP%sfKI7tfS2p!%Hw9GAy2*n z@UCPLn?p4z5cR#W-=&6J<`7D5XB|2Ysul9>%FVF+JckG%X8s%XSk+zW%oK2wEA4;X z{6Xe?$Ts0%O7VjvXjBMTKZmfh8z9y$qd$q%U)nT7^yvr31WS`#vS6F9eNb2a7W&Ne zf$FL)w}$ysR(C~!A;^ItC<*00w?+cs5uu#oDhvnG^w;k{(bo^J0rsN_C^|Jt_HazZ18B$DGEn z>_ZeoH+a{I+#xuX_J0>yTx1pZ8_qF-Vc%hFnWIwqtioJY9C?9Zl>=%QWz4myL&p40VIp(5k}WB_10hQ$z};s)=(~yzyEq`oKi*>P%o9 zGwvi}nqgTmBSTBIelMnWT9skGwPf})52KzmkS*2no ztIOXh&263vq?jk-AR}xlEfrofDyqFne$izmdbiP%HdupvYC4+f8z0C=eLVFk{ERAt zWq59Ta_WH+AU`MpGBD=>04kaQSG)?ZoC`Yk#yOXq3EZ`5@k$xz8*sq5Qf)h6e9Gdx ztfa3_c)#0gi^LiED}F03CX(eTCA#~`Au0T~OeUyq0^BfSj8DM}pfx&7&r2c>^?-ND z1wAD!{7AXrMHo&C)D?1}jqZlx0CscNwtoTvpHKsowgo-(8Bo#WND#L`LFtY=$z0o8 zdWc_!9Z`LFc!)7A#U~{H3#;sjy;@GJr8 zPs$New#obd0ramlY0lgh(+515Z!+i8CZ&Lp(U6#!m)7XNLZ8tVfCXzCax+||R z_w@Dk393@#w83-j`@W=)sIUL4OxTjt^oo*sVQaDirdWChMBfM6w4u%!5eFSHV0<;4 zu6DHr=G&RAe#bHjT0eZKl*4Uc@xP9$(;08t(DP|zw`^9)(;7m6D|qWiSoO}YL!B}# z2z=q-;k6()-S2y!SnI4TK{BIcKsfJ5q;F>3=k0Q(r3oh$#|~e;7Bc6VDQlftqj~!Y z$z#1bdFi1m*kS~5NO8D#JYj{;ZFl09ttSIibIHx^IB4XzeOj$Wv%Y`V5~tdi(sx-~ z;A0_~F!zqLdJ2W??IhyU_M=GLQNI2&JON)>}5i1M=TqWTCU}K%lU$)%>^CLo|F6_k9NvW8_sqO7@%fl@8(!sv8 z@;>4xEShvv|6|>EFd>=df?4Dkd;*#-5(W~eHFb5>U0m)owLSZhm6t~hy!-f35}V7^ znTfY8!MD)2XR790Xc1=G9Eiik_Bdbo@A4 zdv*;|!KuXtx=g@nf+h!iNJ&2`D;b1@gdS>Xafr$PGfwia zDc-q$g(i}4aFI)(lFmtOn4EwrC+pZt5!lQ4`vg1vtOfZ+Y(WmWs}w{@{HTPmJ#3G0 zsjXf1^}#JqzNKz0qFx1^-$i44uTMw{l&W89sGt`+3SQAHkV4S}ne*E=(}p(H!|U8YRdXZQd9$2dR`~u&m2lRl`Rt4UM8e9h&6=WSGhOnxB=jeRqp8w19Gp4#l&D!ZH}dLTC7P??y&WlUb1~603+`wLj9i*DN}y$G{IXmWIMa@6oQF?sj0f}~-ypBO-yz^iO0cIItguf!- zadxzxHFB2t4iC^-N%oEzzy#{x<%M3+W93GgZDazi-AeYv7_Gj*#&)BnqHQ}S%DM}-y46J@j572c+x;&tO);fN7XTJ*f~;Nr7OD2bjS!*yWh zV3g|bxl5LjORxkuDM2`_xpYTz>`01d`*s&AtH-I75LisS63WHn!++dEmdP|$9X`l= zc{xPMAUR+(S_ zQFXGV3pcZuMn_Yvxo8J9(=R zSNo-2h0rE+5G6lS1!b^-rs206193S6wna_(c`@BqZtfx==P1ay(D{9{Bld1(`bR%; zUL)|DC&?*?$dpp^7)oa0FmOnDKhn@vRR}wWqQin#&Nf-IqqCL535b}NGH6Lo6+$kK zwSHR%br%%uU(zaO&7o1WpBZA{JYaWcjs!?Ul|S6NXRi>TMc{bdXU^A}Idzme=XU{3y7B;0b}+bK?(Ue!be3)YI$iYt zp*H6QDzyiDl zydSUou=w#B{JFCd{U~>j2?%%K@)2_DLR7(Bab-tE6{AGjjz+>8Or%3ZFvEOd`(3mo2h`_P&#RE$ena8+39DkI~|XKz?doh0N8Zrr^_)mGl$<)#k% z$^{NV59-d2_ckoty!vmt51DNSH}`A05><2kdF$oX;~b;ik4+tAe;L}g7O~#@6^d&VkBeaNJM%6?Bbsn}haqq{ zs<|MAQ7G}P8s=o$J$Gj`P`=Vm0hs@>%GG9jsz4HE@qB41SSscKSg2kr@RN^`_Pq}J zzJ0{0&5VE%n39RnD;ALCf%k~w=T{<*a_Y`rN|~J}vCs?SgOK_ZQcxm#v{6ML?0P?` zqmtF%TC@9*!C$x@6gEVhVJ&FJ8ifAdo~?5wGuSqBxpC$-?yU5F!f)-!CM&(3h6 z$HOX!^2E#Cr5x)U$LEkDweFO&3y@kJpZ~L;tkseJ7Sy0NNsl|;oMwin-gUa zq`lVX_jnzm z?O38N`UC!^7Pqw|$a^@7gUhdbUiAdpMD4QpK(MRM>nZLfx$|QZec+#vnIEgShkHip zb~Fp$z))gBAwa9|b9I6KKZ&}ETt!HH-OAOpy>mMWQFeEHlRzByPZC zIP@p8h}ubx>L*EeE_pX8FVH++J}s78NH!81E9!a)3zb_f{5d=#)(HOcCKhPmOw8AA z`?&P{2K6PU_P6hmnr%96IV{Z|TgodwfD#k}($)8XGhUh<{yKJ{2g l`?33gTO;O z$BCXag(@I$7rSlx283W90Zb=w3W%df7w!QwFUOQ)BZ^C?tIkh}7>LK30TMGaAT}a3 zN3Q`6Eo`~DQM(OXeg83P>f#*b;!N~dAk1d(a%=Kmeyiw(scLm68{~yyGtT*;4F_(ntyM# z*hOo%lroHMd&xr{G31b|@1@fzTH6Vx{(4M2DHBP(?wgY?eKRWd7}1u}P|KyXQ!oR5 z9o`la0_CM1QWiZ1YcbkwlcL9k&JJN_c@gTx#1br4mZ~Gthr4jwKR;jm^6u{LA{d(> z)noXXuWL_DwNu>Hhf;^-ae8X_V8s^uNyBmlnB%{J(n>&5NeSrL}+3O_>!|nWdi}Xck`Q9nyPB`KaU%Mx^OV$w>CfW|^{FhJ!r( zi?5`OE@SxgYSoeAJ;u5KC0j+_~ZPX0`i zB;^~M{?43l$s*T7dc%%=H)8X>@vL1UaiI^-nb;wF_t;++4Bh2*UcX>`ZShr)3> z(K#!Al^Z^Tt4rLWxX{0GYTxUSZ#O8E%7~jnUHQ@e+wN`Rxtd~#;nm#)_Z`n?FY;T8 zM~0mI5C8AANA9chta_;Z2y}zc4AJBXt_Nt2{7Z;#LDbM(D<=sWneX{T$C9gvr-QAS0&yB?JfNe$8#C; zY5z##u}*mQO~O|?Dzz?IqfSQQpy`Dl1O^>tg@w&|DVE)G*=ODiOz=#LZ23o&-vi?> zC^4tFe9y&Q^PB;>9m7M%@xF;?PhT|g_f6+91f>gzrx#r1MEzOJWVW9BB@eqe292L+ ziUa0n4lzpEBUgpl*BZ=>z!70+Y`o&n6fPRVO^WwY6-7i4k^r)Dau<__A7&VqvZw)3 z7Ai|5p3%3V!lt*?z_1W+oY8V77~is-os}J4H9#wye(pGf{*FF;dOBP#8|J|2F(Qd` zL<+|!sZ^4dJ+_Q!)wIh20n|nd>Mh>cBPGoRlU{a5wZ6jJP%;w)H8V0Y1~-rYl{%$C zSS&Dn*dL3A!KXXaZ1P<7i}7+SVZIN-e7^fw#f=jfFtm5H?`&=o;oS?PV`Hj#MS*7} z+C`Z~X4ZQ^0SIHZg3y!)EofU41e7TVAYhFUsDoxk}&M1=0_?)T998O zCI3odvO0)hXGQ$F48W9I$IBpvtRWzj<0>D#`X|s!3}i~`gD|x${sjb}E%PK`p)%)l zppG#jVtd0$TQ>A^dwhqo^VHti>AGGe$)0b>e=chn6jZ;Z*Irp!=?SK`P%Tn_R6A*m z-f*svky+uBU8vtCJu|J`;>Kdq^#vU|d^JZ0Fc;ybnZHX6RnyQCy1^C&1}>@luTa{g{wwWxB` z{nIOi`{F-#%bNc~w)!?Fqo=gsbx+Alh23x3!S}o}!DFO+TUnTuLF~NBF=`Uho~GFJ zu3@t$bhe8&uaR> zkJg@-3r&)dF0igaI4Bp;(&4F z;x9938*(J{u{Sj`R|9>L)n=tccQzY`$RW{M zW)!>u-CDFC3Ef9qFttKxL!Zb4(nJ4c;fa5JHBOGhO|(+!ppiThGKWQxv|Y#I?u6dI zgGwNUYn8Z7{(MCMjLZ*v-%2DeYq|^y%PTPT<@{)1 zY|6iX7oUC2)N>2#E|OV%aqIVR=cAEUC&*>i$c!*Ty4pj)J7stOMF0fs z)U5&lyQE9=W?9qDL}>+*+-)s!@4EE4I)WoL2^3|^%YLQf5I)O~z{W;`lR%AG9;U>Y z@9I4S?5Q@0o_cHQ%|F13dtN<=+kzE}p{6%=bpt{NbHngYs4yiu9SV$Nh|uMCi8Z1V zJ-}fC06Pu4iU3(Xt&;SW?nS@j;>Srm9;GP9|EF%Ho%^5pF!ME*4oCD*HvNj>t@CCx zi6%~sXmv^d>;O+O9jPCh^L6R{#(Iw*)zmHC-(Pr!MbhGQ#SeXE3D)(9fd8eo&Rptk z>m&bDVWV}pnhT!bU$yPXIfC$(%5P{$d`mW~Xe`yzTd_tlqEcHfYSqe@M=6NBW2Fy+HHs5Qz$j2Krt}d!z+cT1&4vLK&q0gG>u;?g=?f;YRldv(_ zlmWul#DO20FGyHxLJ6{{~`hpLq) z7Bkos!0HrXSvc^iDv5#>d3qV0x*L4a77q2`r+CPGNJ?Y6_o9k|XwP+m%aT2S7g$m` zyVRu=vhu;H^fFuE9NW^#s!vxM8E`=kd%lN*asbS%=+Ao+KiEilOpwCq8e@EYRXlM-`{DbIxNx+=1iaUt&`JRrSC=>$ zqf*Qnj#E@~;QggD=X{Y+x zJB^p=^~8S6URaVDqIWkPx;vU7JCL9P->U1_`x}x#U_EiQcD*s}#&&z5?XRhv%&Gkw zvCPbiSj-`RLko3%7NDz0v!>Tx6CNE4R!cjR#g5|NkNo?chDhIp2i`__{V(bagv<&C0upnMnssQnIMywmmeLw4bX z7{mmW15I=oY^{*ZyidAvnw5K(#(N@2l)5<^dTN8xZ8^jp$ps?Hg|MB@E}SO+lZ*s! z(uR(b9~{9yM^9F{u9n@9082MyIeTSub)wVLIRbLtHko{YiflN6l^dDxa@h8dHT^>w zcGPd$lS^E|7kD|A@$_4sB&}w8oW}xbFiyqu5(F{xvWl>po|1>c5RcFm4nAY^aW)TN$`ID>p{O(i6x{ntU-I_`MB>tUrts)@$ z;Hb_PclZBiNUI6v&*1^FL{oJ`h;#7%@f9e_j!X~@0Fpj_1d|g~0#7^65@*p?HFZJ;DIb>~4Fwb|%5q18l@^8x zBg<YSLtP?$ubs-OQ zj*I`RN$|uBiAWLxY=8NGgUnR)RQg|Sg4OI|i|-q1^qLZ1sTSIc{u+?wCtBvC?Jqqf zD#Nasd*bqd0eDPgodNN`r2h;8Y=9+*j7*MGh>3DHOD(6mTJmdtKFJHbDJzW>g0D&d z#b%t6S`J=>7w1d@6H8y9IK63r#4+VXUjTi-9imzOgu8H$jY_mu* z|D>pgFZ)Dpd&Mwuu2y^Y+tcizI6e*`ut< zzEj99OBu$#WG}KeMI}2$DEq!-i!34Q*!OjYVSZ!3;|D!+U=x5!lZs{6&*wF;D0-B(=5Wx9_C9bG#V)@5|H@_5rzh`F>|8HkOa zzc*jFycNs&@wjRmz}!<1){#OWIRJvf5~6R+UCq@vQw1sMWbvM*q@;ubYHJbx#wGav z7uNKE^e3G{WJ|Gn!IznldImnZ!v{+PIobL7RA|5bQk%opR%H{YY&(|ddgdRx5zCE#nydGSl)5^ykmG7ZO4 zu<~1h0Fh(|KMh0G|1M{UdQZDtK0IdEIF-jhme`?G$OKW@&bh=&(SwAe~4^(c7wd`qc zpE`JKlQ`7`^PT~}9oAxX=gAWRehSjY`!(nVylf~Vh)Ai2R6=aX|0!%a#{2kqn{D@O5RhC)b zz1Fs$cVdsai3_*nAZQV#7fpuC=9w1bY7bd3-{`G=?r%&vN<$l4fMg zEV7+a!-hC5dI&pCq;^TEl%l7+>Jwk%){9>KYX6uY%e^#@JNR|xhaRNIHSH{a9*VM)X zXM1LHLL(omtUjlMI#6HE^0 zsR+uC9=&9$EA7~QD*^}ShcIl8CZVf*-7dvg#QuEkcll@hu$eCn)dj(T7OSn#qZ1P` zSgeoX5iq)(WGQuFdv#)C^GVEo*UA@{EFa(S!%k~py@F0b!;~ycOyLrfcq(Yij-}pL z@t%BRUs~I_1WnTVWFZgnpDe~N+h#90XGqTiJxhZjLX9Bp2gO;NcUuNuZf=MGoLqoG{ zJ!naMGmu1Fx{x!%_7Md+xy@KTiI*a^$l#!80uH%R1X5je^7ZaISG2uvk%v!x$G-R&$VIZ}S@Ol58sRejetx&jyD$#*?oLzV8A%p%#Wdp; zPj^QcQ8SOJI*ClfY%Z9ws66Om@lS?IA3d$fQBTD$g zmg~bN_EdT7Y;W=*1xU@K!G7sQ?2q9a?i!F@7~3@`MXMr(<1|zh-xEUu=_^;dB?jy= z>JpLcK@l70YOTb2RNid(ff_h$lNElF=Wpr}?XJ_LXP&26znzDLH<4sof!l~c zHRq29lLGBT8LPca7~i^=|A%X?MY$2)x{JmM-t|!y2WXAgA$y)K(40<6W&u& zwc}^b=e~<;7;>jX;jy4dkk3M9b0T)*G`V|`3s?wii)aaA5g{a7h&Vr;w~X|eQvz_{A$%re0p>796CkzVt{ z%h@Ao_#blUyLv@vp<5ma6US2oG1aCLeBps`x1Ln_Id}(a-ImPylQ*%i6sNxOy?6Ms z+K1#9`8N`AV}Sze{XDx{q90fG3v)_hS99@n!8Im^oBk9I)aoGq z9?>`JL79JZzq-1Y(?4uYezjp^<+{S3+tD<2mK$!3`YFOWrLKrT>%}1~#l)TZ zm`-9syOOgXjft1_*w$pW+MLpPsnGd9zEtz4$4vonej#99P3o0}sUSeU`RXz39oGgb z0++P{=f+z|3j||Mk6CtpNMgASt^tKv8448fe(G8pGIp_juY3yM@jG%X>w_^2Kq1Pb{0^4@7QgVLB&4ks(|HZ@|GBrox9*PY_3=X|Szh7zupSgP>6V*YxT4 zxJ2!4=bgiJnl2ho>N$g|U*+7Q=-7|;#ch*AkR{H z`LY&pr_#jbl|IX61;J(ZY8bzT5yO?)=o0S;T!Nc2;>=cksCD1Hs?(4U#cZ4~=AUe* zW@5PvPfo!iLuZ) zS6bTjGhPm+%9q1Jw?*nGhR!|LjzL-Y!=(9VMZ60s1|YUW5BP75oZFWdRwJg9FCaErF3;LVX1f~2$tT=7c4`WsrWrcmn=nUTA;fmzyT$Fi0x zx!)9L+xO+2N|`79me;qF{Gi|U{Q0-1lFUG$NlbFWTipCJmk@q~ z++Pq|dmuZAoLqs^A}3qAFwNbLH0NpWfdNp0-FIu^;U zfqy2{I=Qli3%QLluT5-qV3V$wM#B(T$h$j((oci-tMkMQ)-Rv&()C+&6^_S{Ry;_! zI@&%aQy>kBOCp655)#_G(yy`DCTf|+WKqDII|y|(9&u4K)dz&f$!^}J7i{R`qa+?Q za~W|t-mBqC2q_akR15AuAM-J0fB21f+57P1^1}NxH$Rr=-c{``T(I+Sh`rv=DOD)8 z8}jL<+0RFm3=HSQlsAJquS}hyqN2i|7`(Cc@_OX;$b00@0j}EY==VhGv)YYJzejaD zs~$LiP1*_9xzpC)wXp%-%R=a0=numDGLOae6}P=K$FFZyl}mhHIp;s?U`PQ9M=F}Y z$@JLp%SCjgDA_&Mi>h3lNpu8JOx&5;_`x>`?u6q5PV0DcYKwyA&(AwyaC2TZF?}1j zJxNz&*pk=x>FXEkcX#WJjJslw*`Mv)f7-%BLETosO(1QWIvvGkVRjMMlCEL7a&ADo zdg=Vw+WvT4F>Y%#_9XU+)54GIrAtL#3x-`Om67#V5u99m7p+iR_DziAFVTdu+yd(M zUW!9P!}`LGX$?c`;0&7i+js3+FT87WE(%O`kw8}=gOj(s<}$V8AtLU!ASqjnWqPTY zBsd+skEXyqodkNzu{p4Ttj@8jOx&Y6yZt>`pe) z3Fn>>$I{O`_WO5<+pKaTH1f?eUy~q)dD4`ePN(erwCl~AOCxJuW#;J-*t?V^m)O#< z{XK(IR^|`1C=G)!O-p}!78axJQzb^yqEt(|fkb#r;(hRIc2qA-U5aJDcM}(d(F`CgdI&bEq=0yoy~^+6-T7y0&cVllgUQFf*4bkOQ-Ya9$Q zN{tCeqn2KJw_bJ&8b@qd7}ejteH(GNe{5{Rzb8(FGqZQqXZSlPu=If}z#v&uc*D?u z^(0tUwO?SHB_i%1EUJ%&Hr5CC?k>L;v$+CNt2PWzMs?v+D-UU+8deePt}ZXH^RfA} zXUva!-^_lA2@y7^mPFHJwN7XT<+)|@47RF%94=6g@=ha{T2hZx|y1T zKlHawfJ9lj@W!RyM$~e5vEN_48b=CW=tVP?DU@L%P4+!o=q-S;adC06K9*fZ5eFRM zBI(^F27*9s*&9V|PTlE*2NJ266nZMXv3E;^gSk$Pk^TbY^@t1{S)M&jc{aL}U-`8w z@s%5)7vu}gYMxs(hEQU$*55fiz#9ZI|JPZIMLcIxFC+(&Wp#9P=vY}-4wz0uGBh1F zqNVh!@7LwHHtDo_mjadvAnHp5Nf9NeWIhi~u zgM25MDptI{w|JBHrQLjDz@v!c3`S>UP}lqRpXKA@qbx5k&pHa_vZcDX?Df((Y@3gu zjJW~fjZPfyD_kK!$TiH-#OcZ&6{jkbYbo82_6^%9wQIj3A=Uf$_n7HGwL?3{-T5fh zyLTyh>J_rCWrE^+*dyIHfL%vMKxy^&_7sBxHH1iU22(u zIB)}a2Sr@|+-l(U3>5R-XA?Bb*mx`~Bt#R%v~U!CqrmVB_u{!k&f)>)=kquC%w-S< zr%Y>+Qb$m8PQ=R+QY5GbdgR0@j{T~xuAY#VriSB;fM$;<9a<2?hnk&XmbW4K?T)_NAIr$TUr@`?(DCQ&JKuX5f6aJ zI!bxLK|D59nsL!fPS8oM1mAou^BUjne9d8*x5E?VtGGk&gWDRo4;FJ_)>n75NNwMf z;F+$tu90j~g|pDE`Juk``X+ZVii=~^cQBybBNo5Y3;r~g?S;!45!>Yp={eneRqnZ$ z-JU+ZSKo4`VViYjIp$;kb)j!0)E08#pUR4>$0xOpf>jr8xHpvo(Wv`#RzH32F)ZMo z0#`?QF#YgSJi@+;*xLsZU!#??n|=)?+I?=8`X=)`aK7$^w%Og@uESrJ zzfmok0EP9k#GMisee1_4?$4LLh%AuD{CaW$K%F655 zna|g!6DwOzbg15_OU%h>xBb3pVTr(Q{>eZ|3)~(U;P3Ngf zdCiRxZvK$P=Vnv)tyox6Z@K0lT|_-UME*e*M4 z6eu(rPnG%IX=|nhYQCYf^;m8bC1@2J3wr16T^1u@IK#HNc0oHy(`YETcNREyWUnse zUrFsvOirfUUvh6bwp3^Dnr!nvBi}~VlJpMWK3#{MiCVpmY%3{WG%PSMpVHS5K`sAItHCkKjAj~fyaO@8OO^sCD<27zH)$z@XFO)fbuDmX(5Uq>hTCSy2Yni9YG+?F z9*w1fTDvUOfF7yp4`SYo<*Qk~z%ke~k;PkPQN%KEjc zD#^V@s>;MQr=5#zv=*J`+58UdMz9}L%r~8Xkj&fHo4X$5kC^-nzv;rdH6EuzOZa2| zC*yK(&qjvZgTdzPjj-aArWU4rg6mdjEh?-oNMBW+R^H*JNa`|kdujZt)yhzz!g_bx z=o;g%3M=h>l{;H^6YqkdB;H(0OAg1f1Jh@FEv=|UJWcYXmPdK}@^&25n;J4#Wlz*c zsW19%=C1{V5OdXk&yO-)GBz{ge(vb)EddH9gNg*Ng;>=N8*JlC7@*BrIN{>JOWEd&UtI7q z>qq((*P3NzGaI=X>ATdasIPL|1?S=7{D@VlR&6VCmY0*Qhr741qvzu0U$)xG(cuCTB+c7FMn z`lrHQmi$Hg6~EI4J?I3TGlUqnQAAwck^Zh zfqvZizO=NIa`Qv7-{z!1!l>hgxnaZ(H5k!;4h)Q{aBX!Q$THxp z_^%y%D>?G90)KLw!7EB;W@cc`t;zcAuyas=QrE2=TIgM1RZ+Un=6q6F@cjiP>UXsg zs_&(_h)eKCuqnamgfXw(AStMAJ~xv`3LIdwtig?nuXG`wZ|sy@7rQ z{$T?FpGmb3JqBaTD=fT2NhPFmEt!hwU&j<1SHxm`$-ie5l$S3)LXbklws2!LMrs17 zf)GMva3(WjbGxOMuo5Z!n*MHNM2wK}*ZOK3%6qo9BNZ<2)=pJNMcnlCtH9prIrCgx z+r!3TsUCd9b`5fr(sHiTLZpP0mb>0%>aviO(+ESOYjE7N!zcAq+zo;7pPGeVL$Cpa zdQC~J)g&S2M>2!G=Q^nczX0j>PXF+*3XU^mV|`5~M+Nmy`QfwvB+vxT zCv7_%8$^IK-rS0O#iM!lg!IgN5XE`bH)O;I(6H9%{t$PJ4$A$=y@-O;bQnOIKZx$m zc*r+S1;FBU)&g@sDu1OZ2Z8t0LI|Q7S-OGZ+P?dUR|+IGhOJtMmOWk4dAj3|1jD23 zw`2SeMKU7g>0~g>(|@Od;@rncX-z>+t3G`5Zn~BGd~d}ygFUPZA1b1^?5i0Gise(E zEc7=>dkTUynW?@^jO^yr8sT6YFsv&8XT#$LHBoJ;OpW&$G88$#mL)bxsco~ReKt8D zY5{Y*DIPXrhu&|+u}KAiQf466QAPCTWoAg1g+^O-Zbq1&{}cp9VEhZhbN?FulRR^; zK{i&W8lmBAal$qu09BnD-6ypNVZo=En3fQ?S%cb9M`iXLvd+xTi?k<39v8HB9(QAn z&~+EZM&oGx?+!@S?J?vW^ZX7T>NTEUsv#l2pR{bEPLut7=X| zuDNO3Qb=;>AxNPCwKOdMR6m2{SxGt4Zu`>y9-D|@X7fo&K*NTac<7T~hn?dIO9??u zW`EzTkj-5P2`Kn2!u207K*Q^Kj>#lqY_>L18oaGShaNv&8EmGJ^XfS8G$(_%S*%lM z4qg>=!-f=hXZuwp#SRSGynj}fQx?sR9j)<|09{z}@aDu%yUIg--P7k56acpO)@Zd{ z!&+>=bB{~5PT%GOx9IbFR+S*hz;iq&m>c>i&|$~nc$2-|U5ouyDG+GE?d|RDT)eZ> z7w}crg(~q!mu_FN)9vASuO(YP>KHca_z_S4qYjA^P2Z2Li!s6Dj{}=;BeV?vc5Vea z)A}U!wr_0jk^R8O(%^b4!{&CQfc|Wi;JQYGr3`|Q=G^CEfmrCvqi%T>P!O|f5rki= zYHIRe*0&cSI&~Mv8HG+tB7^Mg?GuhiLk{ISI8sbn+K!aRKY%zvvDO*n>XFuKMT7?i z)_chxL(;&Voezo_r=P{>A~3qOYzQ|qFe|;dvJ%{4r9CG{ym&z@bP6(ihG7I#otOVO zD4pWbG5yjM_ zInQw^M#Hf_r?PUyg|*ZYY1dCxbAzYauCtC%MdAT}gThGx)5D<&un`GAhCA%wh|v!p zDrBp?_Jmg!k1PsKE3=_Ig6h8-dEQ#!X)Qi(fZ@N=vm(cYoyWqizT#22g}$7GmR>k{ z{IuxNY)Y(N4ZmNS*9_2`!I~Xk}5&-}inWKPKLYOmf$+|p~a>`y^kMVa}TFD{nBprrgnFr+v$oM+t*VFTJi^?B8}p=V`0((r$d(C*s!xP%S0bC6ZIwmMHN`K+D2L}4^3_fb z3@kW2dBG&a{60E5*S>yYcx-ZDVafYoj|H^&O`W%*PwcHGijctTPU=ePnhpXJ5d6&C ze_ct1Cr!GhwEv1HkLviF^X|$w&*MX9(>k;MPs;6hIwf3FCvo?9`jaDYy>N^9M|{)9 zQ6Jp*Rxy6j!Qh?yJ-gfGPx4O-MI_~eN<1|u|E2;X1}1C1vJ$tgvc7@-5j?CW!H-@$ zbtMS~&80@L7VwTli{YbQ5X|yI-;vAGMQxX3p7JJ(_+AjFjX8lbXg+Z(3gLk@=4$ z*}NY$+7(RU({}aSD$XIPzgg*5HkojOx~w{~PNhueJl z?@3Wawp~n4Jbk7hjB%FgK5DKgfYC}(8eIziY^|}qt9YVhA#2mNohnf3y@EiW8kbzh zui>ppI5_vYGg|n>BqW+1eW4kx7y}N10EK;plJ%{+PTCJ}`IDLz?JCf&nB) z8}M)nlWY!#ymsI!Tkj5cK$e07T#gA>H#M#}+)7BzZCBv~$i=TS#V6YYlDI*6df_m$kJQjv=CS z`Q)JJy&YlN8>UCvpFHc&tj96H@?~icAK+xx`J$}B3G}HJzF_m^TEBv(|3ZupO?_O z5U%@f^H)lk6hkjs>Tq3qT&7#5+^%H1ml-hKE$~70A3XQ6X{|TngEjQ3TQ~6Z)c&}M zVC9h>5t7p?Vtm%yhyh8p@2;sq-R?%P|H04iCCZ^)5_b*Rg=gL@U-zi+JW!8K~Nj>BIS?;Qv?!;(Xm>tr0C3KJ3<3e4L( z8shl*`yT#+bYnjwSKe*nCQ%ZSE08LN6nb_+*UaqA6o0Lsp083DxQjujNFnf|0OQe( z(TUvh9z^QB)Z{1Vh-Xv6p+^TdQYMON%vUzdUlh0QF{vGg2g4$UQIc3A6v4q11s+{N z__*35)4PaV6qL3}VzCx3Q?lR0zIgW@^>0uVkLmDauT@(a-T9a*nk9_^`OeR7_-BSK z_D>@mYkE2M}>}*E?5OgE#`J2T_E`uR#b>W>z85+w_eV1uI6F?5XTy(h6WD zkGd(ckfl+5&J~;=ev?9~x%(WYdHkzLNb=pmRLGy~4&0ODW2!BT398AEFg-_lLOe=C zlXZ0Fxx}Z{n`5kXU3|NY_xj-4pBiJH^9-q*caKT?LSWFCi*fK;MPYx4@b2*q5M?|) zJHF*axz7g>6+nGKGt2%B9z*$(wV%bLloQsRL0^Y z+&;4P@?-LIPV~#cW@jE)mY83MCBcsApSfU4@!o$DhM5ejY|o0ceCKFs7O~hhbe;1N z4oDH%VHy-!?CA_**IPYt-7Y^l2?d5)bIE1d4CK2*7!UF2N5G@8QR#E4pH7;(g@2cl zP8b?OkZ#}Z6i$A!?h+K8oyC2Y5kwvbbcm0|F>Z$5jBz(pf#)dDe&@pR9gR^HHHD22 zoZ>^p=CDTdIx`DT^@}*)p}G%z<|{i3J1s@BH*sK>l{m5;aXT>V;xQ*D!ER5j#9NaR zONJ*aUot4!y4ciS+T6!cnx3{|4or*~snpqtE1bWo4xm1`$8BE4`hMU>pu={B}fcR;@TY5ruTN4l)8O5aP&@AVCc#j zr5kk*H>se-p0mYOY#1wzsAI*b4%Cdym$x9^ut%dm8 zzWePxYK($tyQQBWMkoTdRcQY{ILa{+tCPYq0z-LH9`eg9Zbe39(5INFY$S9KP%x+t zp}l3^TRhxrzSk9-W}RJFfq9N4>wrpr+65>kQ>3i75@c*xQapWOx%jNCE6|_Q(}5Xu z%mHU#_cCJQZu!4m5qb~;J9={$p*e;nh5Q*w$ssX)t(PnRR~ z52Hm%UE#a2Gf@*uNs6Rg;^RqUHJq^IJQ5!PfawW-_cP+P3~yqQV~Micf0+R8e{%9w z98gcY^qrz+qiYA=Cy zht$u%-n>~#D|#`Z^1$6uMHD^#Fwr11>MDH#!-0Z^%)n$^FNVeLi>2%!O zN>{CCXZ<*Ph|Lk0E>IPwA0ifCZkXNT0DeP=;{ti$b_?zsn2LZwat9XgzXg&sNGb${ ze*g9jtcOJr)snS%`l&QK5J8>?vr%k4@;f#a}_mNcyp%b z!Rd${^Zw6{Zc0G5yKy0r1Oi4(`jQ_Y8zT_pnni3MtnZOuLGJde*pAM;0H=0R|EUaQ zac>|oz_#eBALVhXqV`Go^*?T5TgR!N9qG#@4mz*hU_%P^qAv%NU9UT0ubna`3+Q;& z?>|q?jaqvm?@I>CSzmzQ#%t*33#W^Zym$f#d(NwD{0vUykGPdC%M`-a*tfAdU%68Q zS6!NVFA!&CgwV3bOPX2x_qfkp^2b{4kI23JOeWVy{LaN?|Kla6;o<3WQqQ2aHm+#- z@3l;JZI@E{{Z-mfj@re=meHN% zxvNPafGWqdwY6D~SGuhpf$6hPKZS*c!E{@fW`@n3@sM{<-mf8r*=R(K*+{tB{$l#d zTl4X+-NhV+f)=ULG;&k5e3!{S)A+C};u@a#w+Z&J2Y*?ZaP`_%aK!{ulYIu#=+5ly zthT;>_&4dvhw6_WaT^&K_5E6-O@p_C9rc18HKZ<+y#3a;kdixkL6Sv!%5nd6H_S%n zC+>Ms@SDFh9(JW;$)^X6jt)?@JD)Z(HRkU&CN7wIYqago_^s|{1XNO}T!lAxS~(a~ zcHDGIhF6DyKlT?c(pseyCPa*cbr5cJP<%>C`@d~%yI$k|PJXN`FVn%{nn2<+q#)xE zuYKhQSr`|(=Ywve747ALcD=F$7nDvumHWtO5!36i3n zgltk7t5T0HJMG%|b2CvZA%pXTx6L$dzsw|y_8l6*2%NNC)uR%NINsG|lXR6!6rKyg z&PZSG9Dd#F>F=IcR!J3BEUAQ(*N7J`Iv4%4_EP)?o@8ndb*#Q$sxu=>oXn8iPLMvf z`pfajD@bSxxbJjBdu??9?^gA|APu;^9{4Z7dH9qhsP_vr-UpvuAhqNx`GptN&tp_X zCb>9+88DNT_>>UsKv)*C<)t5~7E83MQ@MADurD1L&}zq}786m{+a1qII`#EeY2@-k zdubk)IrL=2zmpftz3?dd>WhiGsfX(A$jjhD>`Hd9OuNVJMYu09abDCs0^CsBAB-xm zQ)Z7GGgB2@-U&4TBRW%1LWIZoYs6jd`iYNXoHVkzfd+O1`>}{-gDj*`8WVfXDkAIq zu;f)77aPeWx$m1>&x0w$l4wH&zFBC-2vUl#U^}zu1AaBz=t@hdVWy6g1(b7SneqRRKcS^ z&K0Dosnd{ojp#?ehL)6;Jj5GHu7^GkU2@#*MUsK^(stXHT zf0o*0M|3{4E8lD6tw(A5j$q%ZMi(#B$nkr`bU)gW_Je>3Su*N~HTM0U=5u${QJk&l zlf~p@l^uQG#~&o2qI7wHphJU&hiVkC_`_j5o{>K>Q0pf49WT(H*4Y~m@(Chpi+I=& zpGQ47CZB^!X_$z}t!GNX@vCOm>wAA+U%>LwNn{0lgr>qcQ_kAmvoh;cY>$QyH97b} z3oFFRXOc7X%RT^m@eHp1vm!faAD^H_(2;0gsX0-|43pAXkzJ)~;9k!N+p5dB;4Da_ z?cYZxdSr18Z$A~V3~(q+=U*-E(IO~n-y5tVZGWIr#X9Dd_VwnLX?Ke5W)xf5t1_Kira{i4d*^sl(@H!gi&Z}f%9 zQfK#Hq&9j<*jZ>MJOsh3N#`Y&?L}=mf}#)tDmZqf81k z56t1izn>7*6SZydhIET$@(?D0s$7w!122=~g8mxQp9pfu`ihfYlUpng0kaF#lKgm% zv%Ph+)fUvh2o?(vVxbuXM0@)-JMqjK2(AXi>l}a6iaYR*WyC}&WtV{|o!tGBjr%um zS}u^*?~e^x963D^n|2vlWN#ZOxvqAumSwNbd&4Y4+EXo2_(F_M;UO#(7Gg#KfyyU> z7S>^qP<}l|)wiCrlPM}J_u+APBZYi1_(FaUJ}Ag>GILFe#ndFaYy80ch@}LD67i{P zQF5PqDs5?XQRGli(mkjSlAmT;8wmvRIV8uc@ShI*oy;ZIg3+WiW`8FTMPg;pRowu|H}7|Cp>c50dePs~8$jaP0x{8~W@TdaTzSI6A4^KT2 za>=h?MyVixFfQkh2nbGuU%pcKX94QL>H5E41bfy%xt}_~2*afbO(>8EbO~ZPzuS^e zPm|bt3m1x)8hWRkjeoxH_H<#vTK-4;PBwmXD>OyzFi0Ur8TSf}KRtoN8I(IPVxH79 zSxFmb*(OunWSO5tj0Ugck*o8PlYra+oXxa2jrEnF>Iw$q)v^Q6MoJRe&QiJUv{7jJ zZ?b6k_X`Q!dhCX+={#{B{1R1ni+(d@$0HxKNLZIVK&1N>p$MvA9Hjw9l3|e+xjEKI1Xc1oNs3Kez*ms-Xl2T7@gkDF3aBLQ_XA`s#)bw% zfPxnUmy1=kkd*q`OZ(?^C21IV1QZ0HRpt^&{c9nr`_SThZi@DzS(SUJr&dG6Y3^5l zLFH9Cr=5R8WZUt? zV7yZ^jyI;YNAY zw8S4L?6ZX&24#!$0k-`78dfKG$}GIc zLJuhf9(WQPehZ7e%^t#cCB><-n#(8ck# zQJ>l{iKdSLX}*zFAgB7h=jpQ+;F_@x_`+`Z;8b^f62n?hh!FHAA-us=EEch`TY@vi zEglNE(qA%ZzKU)-m;KSg-yFdfUtyutd4Vn%w^>1ia-Mse&d0k0ub>cJ#W%9B#Mhnj z6lIL}m^t^wLa~n#E+&SOOU)f zVXtb^QF^;OC9qOk!8`w}8AYut`eEo_J6V^kKU<~yvrm>cu04Z17V?6UZHXwHUf7}f zBF=hJqP(o(*K=kE)z~$l90m;ELFZnA@_dnJHM+mn_xF)J{zB2|n^t|+hILaqqN#_} z-*zLqhSj`MGds6f%FdqyTxPckShuO;0}_i*gq^{uW6O0D3;gNKUc^^*iXjEfKP0MT1Um^SCr7lc@3X?_|cs)8rOW6Jrc->hWLM?pWjkrwu@1 z;MKwGuycCv<*^|qag?L+%W9E|h+q*uo-GY9FTP(h;oR2nI?r`_t7XpGAL)_#Ikvm` zlVW`~yX<)-X~Ozep#$t3-^wn4VlY2w+C2CBRD$bF!|dZ zvyDACQFS&VSel;^cUusPCSb~3!P*Xy{r!Iy^7sKFE7|@^A!j~oPGjFqQ8am|Z_V-^ zsE|X*sl!6l&5xE2M3J(|pA@^ygSPO?R4fXx{0ST@B|}4v1E9pLh-9No@i7pMt0ld! znRRzG=uRG8qNb%lXi`l+t^_O$?A#3l=E1M!THiUe6 z3h>iK1UceMkonrnIhgk`#SCff9^q$aec+8>b5y_TW?1Y0MbL{e&LC?wt6vVR2n>7^ z32)xeMzu83p5gm-Wu88f%bDrF$a^WR(K-(pOyJPh$*<%N19#3U*hYmv&1;&N#>p#UKTd{Oc@uV(3&!~IaM zz}HS`Wox(MJ@~)v?DYHl*j>7Y36B$Qe(;lt%|WbF;?GFTI{ulGZx#em3Eow_^8jh{ z7$zl4Om>J^TCe8*Zt|&Lgs`^$03h^i|5!L)6F8r9N2N1zF9m$LYV^=S^+Ug0C|I0! z(2;%pmWKqb4D4;cpV>nPdEj6NpHF6%dIR@;cq#y5@D`N1I*C4*Jdi#ul}nkVoK2Kp zy~n5hG;!0Ia|@_8cF5!UIq-0s0=pKtnf22y1weJLG~yg|C9M}IPDFAAAj-g6ug5@> z2*~zLT48YZJ5umKpY0iWmmZ*Lm_VZV*IZw_CS$$P%CtVP`lNF>j4)93=b-t&$V{p7 zqr$I^y?(q(VS|XwvL~~m1+(GKr%WPgg7_oD?t&+{aogj@U(Zwh*mM62#a^{cv0=0g zFb)+ikqox6IqrIP5yutJ5?cO?3H3Jaj=DhMnTY_LJo}OY$(E?|-w*Zk4?x>pM+bXr zb{ml^ZX1}9SQ|u>=U^DE&IfpsDmBH)Ytr99ZZkawg@?%r4CoKIC$}g1ITfW@qoDWNUl%KTsPBtUGn^ zwdG&=6z#mb0Bz6MtzbNHf)Y}O&mL5FC9{_LY|R92Z@ce*;Vt(7j^($VVA%;I(Ab=s z;~Rnijc!@~{$DhjP!JgLrH~MudIt`wI2)qHz{K16Zq+8n1Mc|bWS*lY(R=56GLK$* ziZ`)vS3`QH+62XyLdrvVZgMvQE?o{zxG)7m@DlyRv-k#dpwVY|@+w`ff z5{leO6|;Xibt3no!idk@8o|hzrJdID(~8uES9Y`1sK zRDbrYs_5Ojh6SHeXX!6|JNg4&r3IAUNlrp_beJ<4Si!&L- zChH&Jc?tZlwbjG5DkCDMoI`x5@tXXp>U>=i4n97idV6&uT2k37nEk1r?^Nr+@D|71 zoRQI=SltQrm+nq{p{9nghLCL;=ixjTRgCT`r@hBYqLnOkdeD|x#A7*BVC;s+UN#Uc zO_A}woR=@V>xM8fEVOp(ybnr*!49Ho?jM(?004(;s7syoH+}dR@V(dflGprhv zqmoRs0gFui-eY2i1WlgFIxXpHlf5hHKE?kmn+21TJ)+XV`U`P{yP8%AnC4?X6Sw zDsaCLLWP$Q;&71@z4pI7%=ObR&h{Jf6Mca3;&T|9A1>}V$)gPu&o9Lb5>+DybI+>H zCa#kMS^Pc`Ouu=96%SZgShV~mWw-W8zfXI8_uJnwev5xxRO!)6G6gbaTTqUZvBoYn zzcxmi?OX_+z}gI43r0q1w&ekQvekGwhC_W28D%zZyCWW<2#kM9Nt=!bI^=0fF!GjhA*E*DSE z6>)LeiiP<`BV#H}6b)2Ajr4HE7s!i+|=L%rS0rkPx%$-q}b)lO{vc)1w@DaSDZ za{cDg{>S^|#QXlaA6nX`nlEeU?g{zrz0!0Y{-lk~k>lo`xflzV4XN^|Im*wMwK-^O zeNNitc9dmoTs-qiQ{(f-t5>?ChP*&WP5xYyP5=e~{y z>}Zyru70R|%Ums8K)@5<@CSGQ+CDsxb23mt0Ja4ECR0?ps(Ud#;vOP1>A&p`gUbr-LLN0n!C>bF%J2H2F8M5L>_9Td=$|5NSa*$M6;_ z%gpS=N>ehEoI6HY$g5XB;1bM*-` zZY79bUsKOleay;Yc&KG6hi@@;FLP7++I#fj#+T{!>Q*nFP2*5^qey&W2r`CMf;l>u z=;@Tqtf>rRK_8D7MNiKQdufnw)}?KgBY?Vmvw4F+h|L?y{p5V>F7V5?_6wBL-@E5i zC`!2n1C!Pl9bd?Z4(J6-tff6IrL~)fWSMSo$wq({4jKwF@hz#c^H*x9+3asU>F>G1L_K#w#g8e#WpuJqv27L)lNRncaKhEJwXfNQ$_F29(|&Dtas6zJOZ&;EzoCXS6O+9opqfv2mV J%Q~loCIE Date: Sun, 23 Jun 2013 20:52:19 +0300 Subject: [PATCH 20/31] Quickfix and changelog. --- code/game/machinery/doors/airlock.dm | 2 +- code/game/objects/items/stacks/sheets/sheet_types.dm | 2 +- html/changelog.html | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index c0b5f370fbc..443eb98b9ac 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -296,7 +296,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. W.ignite((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame for(var/obj/machinery/door/airlock/plasma/D in range(3,src)) D.ignite(temperature/4) - new/obj/structure/door_assembly/*/door_assembly_0*/( src.loc ) + new/obj/structure/door_assembly( src.loc ) del (src) /obj/machinery/door/airlock/clown diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index cef4c6dedb4..b421b5aeb3d 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -49,7 +49,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ new/datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 50, one_per_turf = 1, on_floor = 1), \ +/* new/datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 50, one_per_turf = 1, on_floor = 1), \ */ new/datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 50, one_per_turf = 1, on_floor = 1), \ diff --git a/html/changelog.html b/html/changelog.html index 9172fde59e2..724a069885e 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -57,6 +57,14 @@ Stuff which is in development and not yet visible to players or just code relate (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit though. Thanks. --> +

+

23.06.2013

+

Segrain updated:

+
    +
  • Airlocks of various models can be constructed again.
  • +
+
+

June 22nd 2013

Cael_Aislinn updated:

From 7a9b501bc0c4609c9c9556f116c712bb4e09e6b2 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Mon, 24 Jun 2013 02:04:44 -0700 Subject: [PATCH 21/31] Dartgun tweaks, vials. --- baystation12.dme | 4 +- code/modules/reagents/dartgun.dm | 290 ++++++++++++++++++ .../reagents/reagent_containers/glass.dm | 10 + code/modules/reagents/syringe_gun.dm | 277 +---------------- 4 files changed, 302 insertions(+), 279 deletions(-) create mode 100644 code/modules/reagents/dartgun.dm diff --git a/baystation12.dme b/baystation12.dme index 889d36ae3f1..3fb8717c222 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -54,9 +54,6 @@ #define FILE_DIR "sound/voice/Serithi" #define FILE_DIR "sound/vox" #define FILE_DIR "sound/weapons" -#define FILE_DIR "tools" -#define FILE_DIR "tools/AddToChangelog" -#define FILE_DIR "tools/AddToChangelog/AddToChangelog" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG @@ -1127,6 +1124,7 @@ #include "code\modules\reagents\Chemistry-Reagents-Antidepressants.dm" #include "code\modules\reagents\Chemistry-Reagents.dm" #include "code\modules\reagents\Chemistry-Recipes.dm" +#include "code\modules\reagents\dartgun.dm" #include "code\modules\reagents\grenade_launcher.dm" #include "code\modules\reagents\reagent_containers.dm" #include "code\modules\reagents\reagent_dispenser.dm" diff --git a/code/modules/reagents/dartgun.dm b/code/modules/reagents/dartgun.dm new file mode 100644 index 00000000000..9d206e65965 --- /dev/null +++ b/code/modules/reagents/dartgun.dm @@ -0,0 +1,290 @@ +/obj/item/weapon/dart_cartridge + name = "dart cartridge" + desc = "A rack of hollow darts." + icon = 'icons/obj/ammo.dmi' + icon_state = "darts-5" + item_state = "rcdammo" + opacity = 0 + density = 0 + anchored = 0.0 + origin_tech = "materials=2" + var/darts = 5 + +/obj/item/weapon/dart_cartridge/update_icon() + if(!darts) + icon_state = "darts-0" + else if(darts > 5) + icon_state = "darts-5" + else + icon_state = "darts-[darts]" + return 1 + +/obj/item/weapon/gun/dartgun + name = "dart gun" + desc = "A small gas-powered dartgun, capable of delivering chemical cocktails swiftly across short distances." + icon_state = "dartgun-empty" + + var/list/beakers = list() //All containers inside the gun. + var/list/mixing = list() //Containers being used for mixing. + var/obj/item/weapon/dart_cartridge/cartridge = null //Container of darts. + var/max_beakers = 3 + var/dart_reagent_amount = 5 + var/container_type = /obj/item/weapon/reagent_containers/glass/beaker/vial + var/list/starting_chems = null + +/obj/item/weapon/gun/dartgun/update_icon() + + if(!cartridge) + icon_state = "dartgun-empty" + return 1 + + if(!cartridge.darts) + icon_state = "dartgun-0" + else if(cartridge.darts > 5) + icon_state = "dartgun-5" + else + icon_state = "dartgun-[cartridge.darts]" + return 1 + +/obj/item/weapon/gun/dartgun/New() + + ..() + if(starting_chems) + for(var/chem in starting_chems) + var/obj/item/weapon/reagent_containers/glass/beaker/vial/B = new(src) + B.reagents.add_reagent(chem, 25) + beakers += B + +/obj/item/weapon/gun/dartgun/examine() + set src in view() + update_icon() + ..() + if (!(usr in view(2)) && usr!=src.loc) + return + if (beakers.len) + usr << "\blue [src] contains:" + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) + if(B.reagents && B.reagents.reagent_list.len) + for(var/datum/reagent/R in B.reagents.reagent_list) + usr << "\blue [R.volume] units of [R.name]" + +/obj/item/weapon/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/dart_cartridge)) + + var/obj/item/weapon/dart_cartridge/D = I + + if(!D.darts) + user << "\blue [D] is empty." + return 0 + + if(cartridge) + if(cartridge.darts <= 0) + src.remove_cartridge() + else + user << "\blue There's already a cartridge in [src]." + return 0 + + user.drop_item() + cartridge = D + D.loc = src + user << "\blue You slot [D] into [src]." + update_icon() + return + if(istype(I, /obj/item/weapon/reagent_containers/glass)) + if(!istype(I, container_type)) + user << "\blue [I] doesn't seem to fit into [src]." + return + if(beakers.len >= max_beakers) + user << "\blue [src] already has [max_beakers] vials in it - another one isn't going to fit!" + return + var/obj/item/weapon/reagent_containers/glass/beaker/B = I + user.drop_item() + B.loc = src + beakers += B + user << "\blue You slot [B] into [src]." + src.updateUsrDialog() + +/obj/item/weapon/gun/dartgun/can_fire() + if(!cartridge) + return 0 + else + return cartridge.darts + +/obj/item/weapon/gun/dartgun/proc/has_selected_beaker_reagents() + return 0 + +/obj/item/weapon/gun/dartgun/proc/remove_cartridge() + if(cartridge) + usr << "\blue You pop the cartridge out of [src]." + var/obj/item/weapon/dart_cartridge/C = cartridge + C.loc = get_turf(src) + C.update_icon() + cartridge = null + src.update_icon() + +/obj/item/weapon/gun/dartgun/proc/get_mixed_syringe() + if (!cartridge) + return 0 + if(!cartridge.darts) + return 0 + + var/obj/item/weapon/reagent_containers/syringe/dart = new(src) + + if(mixing.len) + var/mix_amount = dart_reagent_amount/mixing.len + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) + B.reagents.trans_to(dart,mix_amount) + + return dart + +/obj/item/weapon/gun/dartgun/proc/fire_dart(atom/target, mob/user) + if (locate (/obj/structure/table, src.loc)) + return + else + var/turf/trg = get_turf(target) + var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) + var/obj/item/weapon/reagent_containers/syringe/S = get_mixed_syringe() + if(!S) + user << "\red There are no darts in [src]!" + return + if(!S.reagents) + user << "\red There are no reagents available!" + return + cartridge.darts-- + src.update_icon() + S.reagents.trans_to(D, S.reagents.total_volume) + del(S) + D.icon_state = "syringeproj" + D.name = "syringe" + D.flags |= NOREACT + playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) + + for(var/i=0, i<6, i++) + if(!D) break + if(D.loc == trg) break + step_towards(D,trg) + + if(D) + for(var/mob/living/carbon/M in D.loc) + if(!istype(M,/mob/living/carbon)) continue + if(M == user) continue + //Syringe gun attack logging by Yvarov + var/R + if(D.reagents) + for(var/datum/reagent/A in D.reagents.reagent_list) + R += A.id + " (" + R += num2text(A.volume) + ")," + if (istype(M, /mob)) + M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") + + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" + log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") + + if(D.reagents) + D.reagents.trans_to(M, 15) + M << "You feel a slight prick." + + del(D) + break + if(D) + for(var/atom/A in D.loc) + if(A == user) continue + if(A.density) del(D) + + sleep(1) + + if (D) spawn(10) del(D) + + return + +/obj/item/weapon/gun/dartgun/afterattack(obj/target, mob/user , flag) + if(!isturf(target.loc) || target == user) return + ..() + +/obj/item/weapon/gun/dartgun/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) + return 1 + +/obj/item/weapon/gun/dartgun/attack_self(user as mob) + var/dat = "[src] mixing control:

" + + if (beakers.len) + var/i = 1 + for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) + dat += "Beaker [i] contains: " + if(B.reagents && B.reagents.reagent_list.len) + for(var/datum/reagent/R in B.reagents.reagent_list) + dat += "
[R.volume] units of [R.name], " + if (check_beaker_mixing(B)) + dat += text("Mixing ") + else + dat += text("Not mixing ") + else + dat += "nothing." + dat += " \[Eject\]
" + i++ + else + dat += "There are no beakers inserted!

" + + if(cartridge) + if(cartridge.darts) + dat += "The dart cartridge has [cartridge.darts] shots remaining." + else + dat += "The dart cartridge is empty!" + dat += " \[Eject\]" + + user << browse("[dat]", "window=dartgun_mixing_window") + +/obj/item/weapon/gun/dartgun/proc/check_beaker_mixing(var/obj/item/B) + if(!mixing || !beakers) + return 0 + for(var/obj/item/M in mixing) + if(M == B) + return 1 + return 0 + +/obj/item/weapon/gun/dartgun/Topic(href, href_list) + src.add_fingerprint(usr) + if(href_list["stop_mix"]) + var/index = text2num(href_list["stop_mix"]) + if(index <= beakers.len) + for(var/obj/item/M in mixing) + if(M == beakers[index]) + mixing -= M + break + else if (href_list["mix"]) + var/index = text2num(href_list["mix"]) + if(index <= beakers.len) + mixing += beakers[index] + else if (href_list["eject"]) + var/index = text2num(href_list["eject"]) + if(index <= beakers.len) + if(beakers[index]) + var/obj/item/weapon/reagent_containers/glass/beaker/B = beakers[index] + usr << "You remove [B] from [src]." + mixing -= B + beakers -= B + B.loc = get_turf(src) + else if (href_list["eject_cart"]) + remove_cartridge() + src.updateUsrDialog() + return + +/obj/item/weapon/gun/dartgun/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) + if(cartridge) + spawn(0) fire_dart(target,user) + else + usr << "\red [src] is empty." + + +/obj/item/weapon/gun/dartgun/vox + name = "alien dart gun" + desc = "A small gas-powered dartgun, fitted for nonhuman hands." + +/obj/item/weapon/gun/dartgun/vox/medical + starting_chems = list("kelotane","bicaridine","anti_toxin") + +/obj/item/weapon/gun/dartgun/vox/raider + starting_chems = list("space_drugs","stoxin","impedrezene") \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 553b5953c32..936362f3fe3 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -178,6 +178,16 @@ possible_transfer_amounts = list(5,10,15,25,30,50,100) flags = FPRINT | TABLEPASS | OPENCONTAINER +/obj/item/weapon/reagent_containers/glass/beaker/vial + name = "vial" + desc = "A small glass vial. Can hold up to 25 units." + icon_state = "vial" + g_amt = 250 + volume = 25 + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(5,10,15,25) + flags = FPRINT | TABLEPASS | OPENCONTAINER + /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone New() ..() diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm index 2bb818c3737..eaa372bd45d 100644 --- a/code/modules/reagents/syringe_gun.dm +++ b/code/modules/reagents/syringe_gun.dm @@ -128,279 +128,4 @@ New() var/datum/reagents/R = new/datum/reagents(15) reagents = R - R.my_atom = src - -/obj/item/weapon/dart_cartridge - name = "dart cartridge" - desc = "A rack of hollow darts." - icon = 'icons/obj/ammo.dmi' - icon_state = "darts-5" - item_state = "rcdammo" - opacity = 0 - density = 0 - anchored = 0.0 - origin_tech = "materials=2" - var/darts = 5 - -/obj/item/weapon/dart_cartridge/update_icon() - if(!darts) - icon_state = "darts-0" - else if(darts > 5) - icon_state = "darts-5" - else - icon_state = "darts-[darts]" - return 1 - -/obj/item/weapon/gun/dartgun - name = "dart gun" - desc = "A small gas-powered dartgun, capable of delivering chemical cocktails swiftly across short distances." - icon_state = "dartgun-empty" - - var/list/beakers = list() //All containers inside the gun. - var/list/mixing = list() //Containers being used for mixing. - var/obj/item/weapon/dart_cartridge/cartridge = null //Container of darts. - var/max_beakers = 3 - -/obj/item/weapon/gun/dartgun/update_icon() - - if(!cartridge) - icon_state = "dartgun-empty" - return 1 - - if(!cartridge.darts) - icon_state = "dartgun-0" - else if(cartridge.darts > 5) - icon_state = "dartgun-5" - else - icon_state = "dartgun-[cartridge.darts]" - return 1 - -/obj/item/weapon/gun/dartgun/New() - - if(beakers.len) - return - - // The dartgun has one beaker by default. - var/obj/item/weapon/reagent_containers/glass/beaker/B = new(src) - beakers += B - - ..() - -/obj/item/weapon/gun/dartgun/examine() - set src in view() - update_icon() - ..() - if (!(usr in view(2)) && usr!=src.loc) - return - if (beakers.len) - usr << "\blue [src] contains:" - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) - if(B.reagents && B.reagents.reagent_list.len) - for(var/datum/reagent/R in B.reagents.reagent_list) - usr << "\blue [R.volume] units of [R.name]" - -/obj/item/weapon/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/dart_cartridge)) - - var/obj/item/weapon/dart_cartridge/D = I - - if(!D.darts) - user << "\blue [D] is empty." - return 0 - - if(cartridge) - if(cartridge.darts <= 0) - src.remove_cartridge() - else - user << "\blue There's already a cartridge in [src]." - return 0 - - user.drop_item() - cartridge = D - D.loc = src - user << "\blue You slot [D] into [src]." - update_icon() - return - if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) - if(beakers.len >= max_beakers) - user << "\blue [src] already has [max_beakers] beakers in it - another one isn't going to fit!" - return - var/obj/item/weapon/reagent_containers/glass/beaker/B = I - user.drop_item() - B.loc = src - beakers += B - user << "\blue You slot [B] into [src]." - src.updateUsrDialog() - -/obj/item/weapon/gun/dartgun/can_fire() - if(!cartridge) - return 0 - else - return cartridge.darts - -/obj/item/weapon/gun/dartgun/proc/has_selected_beaker_reagents() - return 0 - -/obj/item/weapon/gun/dartgun/proc/remove_cartridge() - if(cartridge) - usr << "\blue You pop the cartridge out of [src]." - var/obj/item/weapon/dart_cartridge/C = cartridge - C.loc = get_turf(src) - C.update_icon() - cartridge = null - src.update_icon() - -/obj/item/weapon/gun/dartgun/proc/get_mixed_syringe() - if (!cartridge) - return 0 - if(!cartridge.darts) - return 0 - - var/obj/item/weapon/reagent_containers/syringe/dart = new(src) - - if(mixing.len) - var/mix_amount = 10/mixing.len - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in mixing) - B.reagents.trans_to(dart,mix_amount) - - return dart - -/obj/item/weapon/gun/dartgun/proc/fire_dart(atom/target, mob/user) - if (locate (/obj/structure/table, src.loc)) - return - else - var/turf/trg = get_turf(target) - var/obj/effect/syringe_gun_dummy/D = new/obj/effect/syringe_gun_dummy(get_turf(src)) - var/obj/item/weapon/reagent_containers/syringe/S = get_mixed_syringe() - if(!S) - user << "\red There are no darts in [src]!" - return - if(!S.reagents) - user << "\red There are no reagents available!" - return - cartridge.darts-- - src.update_icon() - S.reagents.trans_to(D, S.reagents.total_volume) - del(S) - D.icon_state = "syringeproj" - D.name = "syringe" - playsound(user.loc, 'sound/items/syringeproj.ogg', 50, 1) - - for(var/i=0, i<6, i++) - if(!D) break - if(D.loc == trg) break - step_towards(D,trg) - - if(D) - for(var/mob/living/carbon/M in D.loc) - if(!istype(M,/mob/living/carbon)) continue - if(M == user) continue - //Syringe gun attack logging by Yvarov - var/R - if(D.reagents) - for(var/datum/reagent/A in D.reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - if (istype(M, /mob)) - M.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("[user] ([user.ckey]) shot [M] ([M.ckey]) with a syringegun ([R])") - - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a syringegun ([R])" - log_attack("UNKNOWN shot [M] ([M.ckey]) with a syringegun ([R])") - - if(D.reagents) - D.reagents.trans_to(M, 15) - M << "You feel a slight prick." - - del(D) - break - if(D) - for(var/atom/A in D.loc) - if(A == user) continue - if(A.density) del(D) - - sleep(1) - - if (D) spawn(10) del(D) - - return - -/obj/item/weapon/gun/dartgun/afterattack(obj/target, mob/user , flag) - if(!isturf(target.loc) || target == user) return - ..() - -/obj/item/weapon/gun/dartgun/can_hit(var/mob/living/target as mob, var/mob/living/user as mob) - return 1 - -/obj/item/weapon/gun/dartgun/attack_self(user as mob) - var/dat = "[src] mixing control:

" - - if (beakers.len) - var/i = 1 - for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers) - dat += "Beaker [i] contains: " - if(B.reagents && B.reagents.reagent_list.len) - for(var/datum/reagent/R in B.reagents.reagent_list) - dat += "
[R.volume] units of [R.name], " - if (check_beaker_mixing(B)) - dat += text("Mixing ") - else - dat += text("Not mixing ") - else - dat += "nothing." - dat += " \[Eject\]
" - i++ - else - dat += "There are no beakers inserted!

" - - if(cartridge) - if(cartridge.darts) - dat += "The dart cartridge has [cartridge.darts] shots remaining." - else - dat += "The dart cartridge is empty!" - dat += " \[Eject\]" - - user << browse("[dat]", "window=dartgun_mixing_window") - -/obj/item/weapon/gun/dartgun/proc/check_beaker_mixing(var/obj/item/B) - if(!mixing || !beakers) - return 0 - for(var/obj/item/M in mixing) - if(M == B) - return 1 - return 0 - -/obj/item/weapon/gun/dartgun/Topic(href, href_list) - src.add_fingerprint(usr) - if(href_list["stop_mix"]) - var/index = text2num(href_list["stop_mix"]) - if(index <= beakers.len) - for(var/obj/item/M in mixing) - if(M == beakers[index]) - mixing -= M - break - else if (href_list["mix"]) - var/index = text2num(href_list["mix"]) - if(index <= beakers.len) - mixing += beakers[index] - else if (href_list["eject"]) - var/index = text2num(href_list["eject"]) - if(index <= beakers.len) - if(beakers[index]) - var/obj/item/weapon/reagent_containers/glass/beaker/B = beakers[index] - usr << "You remove [B] from [src]." - mixing -= B - beakers -= B - B.loc = get_turf(src) - else if (href_list["eject_cart"]) - remove_cartridge() - src.updateUsrDialog() - return - -/obj/item/weapon/gun/dartgun/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0) - if(cartridge) - spawn(0) fire_dart(target,user) - else - usr << "\red [src] is empty." \ No newline at end of file + R.my_atom = src \ No newline at end of file From b77ee1f06fa7c1ffcce61d532eacc5a8ac428761 Mon Sep 17 00:00:00 2001 From: fauxtada Date: Sun, 23 Jun 2013 18:50:18 -0700 Subject: [PATCH 22/31] Map Adjustments - Maintence tunnel doors near xenobiology, plasma, and virology (in the join areas that are in the middle of the maintence tunnels) are now 0 access. This allows for easier access to maintence tunnels during rad storms. Additional standard access maintence tunnel doors have been added in these areas to block them out a little. - Replaces secure storage area with Quarantine zone for infected patients. - Shinks CMO office by one tile for more flow, also now CMO's office has less doors. Because. - Who the hell put a rack in place of one of the major door leading into security? That's gone now. - Put flares in the security closets. Fancy shiny red things! - Messed around with floor tiling colors in medbay. --- maps/tgstation.2.1.0.0.1.dmm | 583 ++++++++++++++++++----------------- 1 file changed, 302 insertions(+), 281 deletions(-) diff --git a/maps/tgstation.2.1.0.0.1.dmm b/maps/tgstation.2.1.0.0.1.dmm index 1809698f63a..ab18db93c05 100644 --- a/maps/tgstation.2.1.0.0.1.dmm +++ b/maps/tgstation.2.1.0.0.1.dmm @@ -92,7 +92,7 @@ "abN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/range) "abO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/security/range) "abP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/security/prison) -"abQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) +"abQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/security/lobby) "abR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "abS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/prison) "abT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/prison) @@ -298,7 +298,7 @@ "afL" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Armory"; req_access = null; req_access_txt = "3"},/turf/simulated/floor,/area/security/warden) "afM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) "afN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) -"afO" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) +"afO" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; layer = 2.8; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor{tag = "icon-redfull (NORTHWEST)"; icon_state = "redfull"; dir = 9},/area/maintenance/fsmaint) "afP" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/device/radio/off,/obj/item/weapon/crowbar,/turf/simulated/floor{tag = "icon-redfull (NORTHWEST)"; icon_state = "redfull"; dir = 9},/area/security/main) "afQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) "afR" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) @@ -329,7 +329,7 @@ "agq" = (/obj/structure/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "agr" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "ags" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"agt" = (/obj/structure/closet/secure_closet/security,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) +"agt" = (/obj/structure/table,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/bodybag/cryobag,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/security/brig) "agu" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) "agv" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) "agw" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{tag = "icon-redfull (NORTHWEST)"; icon_state = "redfull"; dir = 9},/area/security/main) @@ -460,7 +460,7 @@ "aiR" = (/obj/machinery/door/window/eastright{dir = 1; name = "Security Delivery"; req_access_txt = "1"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"},/area/security/main) "aiS" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Security Escape Pod"},/turf/simulated/floor/plating,/area/security/main) "aiT" = (/turf/simulated/floor/plating,/area/security/main) -"aiU" = (/obj/structure/table,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/security/brig) +"aiU" = (/obj/structure/closet/secure_closet/security,/obj/structure/window/reinforced{dir = 4},/obj/item/device/flashlight/flare,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) "aiV" = (/obj/structure/table,/obj/item/device/healthanalyzer{pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/brig) "aiW" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 1; pixel_y = -2},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 1; pixel_y = 6},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 0; pixel_y = 2},/obj/item/stack/medical/ointment{pixel_y = 4},/turf/simulated/floor{icon_state = "white"},/area/security/brig) "aiX" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/security/brig) @@ -3038,14 +3038,14 @@ "bgv" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/psych{name = "Psychiatrist's Office"}) "bgw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bgx" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bgy" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bgy" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/item/device/flashlight/flare,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) "bgz" = (/turf/simulated/wall,/area/medical/morgue) "bgA" = (/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bgB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bgC" = (/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Patient Rooms"}) "bgD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Patient Rooms"}) "bgE" = (/turf/simulated/wall,/area/storage/emergency) -"bgF" = (/obj/machinery/camera{c_tag = "Medbay Patient Room Corridor"; dir = 4; network = list("SS13")},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bgF" = (/turf/simulated/floor/beach/water,/turf/simulated/floor{tag = "icon-siding8"; icon_state = "siding8"},/area/crew_quarters/fitness) "bgG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/assembly/chargebay) "bgH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/starboard) "bgI" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/starboard) @@ -3055,10 +3055,10 @@ "bgM" = (/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard) "bgN" = (/turf/simulated/floor{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard) "bgO" = (/turf/simulated/wall/r_wall,/area/toxins/lab) -"bgP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bgP" = (/turf/simulated/floor/beach/water,/turf/simulated/floor{tag = "icon-siding4"; icon_state = "siding4"},/area/crew_quarters/fitness) "bgQ" = (/turf/simulated/wall,/area/maintenance/asmaint2) "bgR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small{dir = 4},/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"bgS" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bgS" = (/turf/simulated/floor/beach/water,/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/turf/simulated/floor{tag = "icon-siding8"; icon_state = "siding8"},/area/crew_quarters/fitness) "bgT" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) "bgU" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) "bgV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -3114,20 +3114,20 @@ "bhT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock,/turf/simulated/floor,/area/engine/construction_storage) "bhU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/door_assembly,/turf/simulated/floor,/area/engine/construction_storage) "bhV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/engine/construction_storage) -"bhW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/under/color/white,/obj/item/clothing/suit/storage/labcoat,/obj/structure/closet/secure_closet{req_access_txt = 64},/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) +"bhW" = (/turf/simulated/floor/beach/water,/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/area/crew_quarters/fitness) "bhX" = (/turf/simulated/wall,/area/medical/chemistry) -"bhY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/item/weapon/pen/red,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) -"bhZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) +"bhY" = (/turf/simulated/floor/beach/water,/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/turf/simulated/floor{tag = "icon-siding4"; icon_state = "siding4"},/area/crew_quarters/fitness) +"bhZ" = (/obj/machinery/light,/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/iso_access{name = "Patient Rooms"}) "bia" = (/turf/simulated/floor,/area/toxins/misc_lab) "bib" = (/obj/machinery/light_construct/small{dir = 1},/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/construction_storage) "bic" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bid" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/engine/break_room) "bie" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/construction_storage) -"bif" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) +"bif" = (/obj/machinery/camera{c_tag = "Medbay Patient Room Corridor"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/iso_access{name = "Patient Rooms"}) "big" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bih" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/medbay2) -"bii" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/medical/psych{name = "Psychiatrist's Office"}) -"bij" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bii" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/iso_access{name = "Patient Rooms"}) +"bij" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bik" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Iso B"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bil" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivb"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/iso_access{name = "Patient Rooms"}) "bim" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) @@ -3135,12 +3135,12 @@ "bio" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bip" = (/obj/machinery/bodyscanner,/turf/simulated/floor,/area/medical/sleeper) "biq" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor,/area/medical/sleeper) -"bir" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/biostorage) +"bir" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bis" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) -"bit" = (/obj/structure/extinguisher_cabinet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/medical/biostorage) +"bit" = (/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/under/color/white,/obj/item/clothing/suit/storage/labcoat,/obj/structure/closet/secure_closet{req_access_txt = 64},/obj/item/weapon/storage/box/cups,/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) "biu" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor{icon_state = "delivery"},/area/assembly/chargebay) "biv" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"biw" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"biw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/item/weapon/pen/red,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) "bix" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "biy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics) "biz" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "Robotics Desk"; req_access_txt = "29"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics) @@ -3189,17 +3189,17 @@ "bjq" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) "bjr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "bjs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/central) -"bjt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Secondary Storage"; req_access_txt = "39"},/turf/simulated/floor,/area/medical/biostorage) -"bju" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/biostorage) -"bjv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/biostorage) +"bjt" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) +"bju" = (/obj/structure/noticeboard{pixel_y = 32},/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) +"bjv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area/medical/psych{name = "Psychiatrist's Office"}) "bjw" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bjx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bjy" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bjz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/iso_access{name = "Patient Rooms"}) +"bjz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bjA" = (/turf/simulated/wall,/area/medical/iso_access{name = "Patient Rooms"}) "bjB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall,/area/medical/iso_access{name = "Patient Rooms"}) -"bjC" = (/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/turf/simulated/floor/plating,/area/medical/iso_access{name = "Patient Rooms"}) -"bjD" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bjC" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Medbay Quarantine"}) +"bjD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Quarantine Room"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "bjE" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bjF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bjG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -3296,18 +3296,18 @@ "blt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "blu" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "blv" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"blw" = (/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"blw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/iso_access{name = "Medbay Quarantine"}) "blx" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/misc_lab) "bly" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/ignition_switch{id = "Xenobio"; pixel_x = -6; pixel_y = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/misc_lab) "blz" = (/obj/item/weapon/crowbar/red,/obj/item/weapon/wrench,/obj/machinery/power/apc{dir = 8; name = "Misc Research APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/misc_lab) "blA" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"blB" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"blC" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"blD" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"blB" = (/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Medbay Quarantine"}) +"blC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Medbay Quarantine"}) +"blD" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "blE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "blF" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "blG" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"blH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"blH" = (/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/iso_access{name = "Patient Rooms"}) "blI" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "blJ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency) "blK" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency) @@ -3466,7 +3466,7 @@ "boH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/engine/break_room) "boI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area/maintenance/asmaint) "boJ" = (/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"boK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/weapon/wrench{pixel_x = 5; pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"boK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "boL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "boM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/general/visible{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/toxins/misc_lab) "boN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/misc_lab) @@ -3480,7 +3480,7 @@ "boV" = (/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "boW" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) "boX" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"boY" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"boY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "boZ" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) "bpa" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) "bpb" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor,/area/toxins/lab) @@ -3609,12 +3609,12 @@ "bru" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/sleeper) "brv" = (/obj/machinery/light,/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/newscaster{pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "brw" = (/obj/machinery/door_control{id = "medprivb"; name = "Privacy Shutters"; pixel_y = -25},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"brx" = (/obj/structure/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/medical/biostorage) +"brx" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bry" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "brz" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "brA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "toxin_test_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "brB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"brC" = (/obj/structure/table,/obj/item/weapon/gun/syringe,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/biostorage) +"brC" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "brD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "brE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "brF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall,/area/engine/construction_storage) @@ -3628,7 +3628,7 @@ "brN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "brO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-bcarpet07"; icon_state = "bcarpet07"},/area/medical/psych{name = "Psychiatrist's Office"}) "brP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/stool/psychbed,/turf/simulated/floor{tag = "icon-bcarpet09"; icon_state = "bcarpet09"},/area/medical/psych{name = "Psychiatrist's Office"}) -"brQ" = (/obj/machinery/camera{c_tag = "Medbay Psych Office"; dir = 8; network = list("SS13")},/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/psych{name = "Psychiatrist's Office"}) +"brQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "brR" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "brS" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/l3closet,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) "brT" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) @@ -3685,15 +3685,15 @@ "bsS" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/medical/psych{name = "Psychiatrist's Office"}) "bsT" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engine/construction_storage) "bsU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/computerframe,/turf/simulated/floor,/area/engine/construction_storage) -"bsV" = (/turf/simulated/wall/r_wall,/area/medical/biostorage) +"bsV" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bsW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "bsX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "bsY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/engine/construction_storage) -"bsZ" = (/obj/machinery/power/apc{dir = 4; name = "Medbay Storage APC"; pixel_x = 25},/obj/structure/cable,/obj/item/roller,/turf/simulated/floor,/area/medical/biostorage) -"bta" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/roller,/turf/simulated/floor,/area/medical/biostorage) +"bsZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/weapon/wrench{pixel_x = 5; pixel_y = -5},/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bta" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "btb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/table/woodentable,/turf/simulated/floor{tag = "icon-bcarpet08"; icon_state = "bcarpet08"},/area/medical/psych{name = "Psychiatrist's Office"}) -"btc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/biostorage) -"btd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/turf/simulated/floor{tag = "icon-bcarpet09"; icon_state = "bcarpet09"},/area/medical/psych{name = "Psychiatrist's Office"}) +"btc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"btd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "bte" = (/obj/structure/table/woodentable,/turf/simulated/floor{tag = "icon-bcarpet07"; icon_state = "bcarpet07"},/area/medical/psych{name = "Psychiatrist's Office"}) "btf" = (/obj/structure/table/woodentable,/turf/simulated/floor{tag = "icon-bcarpet08"; icon_state = "bcarpet08"},/area/medical/psych{name = "Psychiatrist's Office"}) "btg" = (/turf/simulated/wall/r_wall,/area/medical/psych{name = "Psychiatrist's Office"}) @@ -3723,7 +3723,7 @@ "btE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/toxins/lab) "btF" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "btG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/toxins/lab) -"btH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"btH" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "btI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"}) "btJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"}) "btK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"}) @@ -3770,14 +3770,14 @@ "buz" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "buA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "buB" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) -"buC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/medical/biostorage) +"buC" = (/obj/machinery/camera{c_tag = "Medbay Psychiatrict Office"; dir = 8; network = list("SS13")},/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/psych{name = "Psychiatrist's Office"}) "buD" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/medical/surgery) "buE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/medical/surgery) "buF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/construction_storage) "buG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/oil,/turf/simulated/floor,/area/engine/construction_storage) "buH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/biostorage{name = "Medbay Clothing Storage"}) -"buI" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/medical/biostorage) -"buJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/biostorage) +"buI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"buJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "buK" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "buL" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "buM" = (/turf/simulated/wall/r_wall,/area/medical/ward) @@ -3850,11 +3850,11 @@ "bwb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) "bwc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/brown,/turf/simulated/floor{tag = "icon-bcarpet03"; icon_state = "bcarpet03"},/area/medical/psych{name = "Psychiatrist's Office"}) "bwd" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/medical/surgery) -"bwe" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop{pixel_y = 6},/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) +"bwe" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "bwf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/surgery) -"bwg" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bwg" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "bwh" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bwi" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bwi" = (/obj/structure/table/woodentable,/turf/simulated/floor{tag = "icon-bcarpet09"; icon_state = "bcarpet09"},/area/medical/psych{name = "Psychiatrist's Office"}) "bwj" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/hallway/secondary/construction{name = "\improper Engineering Training"}) "bwk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bwl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/break_room) @@ -3925,7 +3925,7 @@ "bxy" = (/obj/machinery/shieldwallgen,/turf/simulated/floor{icon_state = "bot"},/area/teleporter) "bxz" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/teleporter) "bxA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central) -"bxB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bxB" = (/turf/simulated/wall/r_wall,/area/maintenance/asmaint2) "bxC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/apc_frame,/turf/simulated/floor,/area/engine/construction_storage) "bxD" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/fitness) "bxE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -3933,13 +3933,13 @@ "bxG" = (/obj/machinery/camera{c_tag = "Medbay Surgery Access"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bxH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/engine/construction_storage) "bxI" = (/obj/machinery/pipedispenser,/turf/simulated/floor,/area/engine/construction_storage) -"bxJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Patient Rooms"}) -"bxK" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Medbay Storage Two"; dir = 8; network = list("SS13")},/turf/simulated/floor,/area/medical/biostorage) -"bxL" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/turf/simulated/floor,/area/medical/biostorage) -"bxM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/biostorage) -"bxN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bxJ" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bxK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/iso_access{name = "Medbay Quarantine"}) +"bxL" = (/turf/simulated/floor{icon_state = "white"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/table,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"bxM" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Medbay Quarantine APC"; pixel_x = 25},/obj/machinery/camera{c_tag = "Medbay Quarantine Room"; dir = 8; network = list("SS13")},/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"bxN" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop{pixel_y = 6},/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor/wood,/area/medical/psych{name = "Psychiatrist's Office"}) "bxO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/camera{c_tag = "Medbay Patient B"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"bxP" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bxP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bxQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/psych{name = "Psychiatrist's Office"}) "bxR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/l3closet,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/mask/gas,/obj/machinery/camera{c_tag = "Medbay Clothing Storage"; dir = 8; network = list("SS13")},/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) "bxS" = (/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/psych{name = "Psychiatrist's Office"}) @@ -3962,7 +3962,7 @@ "byj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/hor) "byk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/crew_quarters/hor) "byl" = (/turf/simulated/wall/r_wall,/area/crew_quarters/hor) -"bym" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bym" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "byn" = (/obj/machinery/camera{c_tag = "Research Dock"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research{name = "Research Division"}) "byo" = (/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research{name = "Research Division"}) "byp" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/medical/research{name = "Research Division"}) @@ -4011,17 +4011,17 @@ "bzg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bzh" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) "bzi" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "Medbay Clothing Storage"; pixel_y = 26},/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) -"bzj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) +"bzj" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bzk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) "bzl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) "bzm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzn" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bzn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bzo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) "bzp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bzq" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bzr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bzs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/biostorage) +"bzt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bzu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Medical Clothing Storage"; req_access_txt = "45"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/biostorage{name = "Medbay Clothing Storage"}) "bzv" = (/obj/structure/stool/bed/chair,/obj/machinery/camera{c_tag = "Medbay Surgery Observation"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) "bzw" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) @@ -4032,7 +4032,7 @@ "bzB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbreak) "bzC" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool/bed/chair/comfy/teal,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bzD" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool/bed/chair/comfy/teal,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) -"bzE" = (/obj/machinery/power/apc{dir = 4; name = "CMO Office APC"; pixel_x = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/mob/living/simple_animal/cat/Runtime,/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) +"bzE" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "bzF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) "bzG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/medical/research{name = "Research Division"}) "bzH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -4093,13 +4093,13 @@ "bAK" = (/obj/machinery/vending/snack,/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bAL" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bAM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bAN" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{tag = "icon-bcarpet04"; icon_state = "bcarpet04"},/area/medical/cmo) +"bAN" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "bAO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) "bAP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/engine/break_room) -"bAQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 0},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) +"bAQ" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/stool/bed/chair/office/light{tag = "icon-officechair_white (EAST)"; icon_state = "officechair_white"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bAR" = (/turf/simulated/wall,/area/medical/medbreak) -"bAS" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) -"bAT" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bAS" = (/turf/simulated/floor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/biostorage{name = "Medbay Clothing Storage"}) +"bAT" = (/obj/machinery/power/apc{dir = 4; name = "CMO Office APC"; pixel_x = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/mob/living/simple_animal/cat/Runtime,/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) "bAU" = (/turf/simulated/floor,/area/medical/genetics) "bAV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/genetics) "bAW" = (/turf/simulated/wall,/area/medical/cmo) @@ -4154,8 +4154,8 @@ "bBT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central) "bBU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bBV" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/sleeper) -"bBW" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) -"bBX" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) +"bBW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/wall,/area/medical/cmo) +"bBX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 0},/obj/structure/stool,/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) "bBY" = (/turf/simulated/floor{tag = "icon-bcarpet04"; icon_state = "bcarpet04"},/area/medical/cmo) "bBZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bCa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4164,7 +4164,7 @@ "bCd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) "bCe" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bCf" = (/obj/machinery/vending/cigarette,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central) -"bCg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) +"bCg" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool,/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) "bCh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/medical/genetics) "bCi" = (/obj/machinery/light,/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor,/area/medical/genetics) "bCj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4229,7 +4229,7 @@ "bDq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bDr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/medical/genetics) "bDs" = (/obj/machinery/camera{c_tag = "Genetics Aft"; dir = 1; network = list("SS13")},/turf/simulated/floor,/area/medical/genetics) -"bDt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) +"bDt" = (/obj/machinery/computer/med_data/laptop{pixel_y = 6},/obj/structure/table,/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) "bDu" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 0; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/medical/genetics) "bDv" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bDw" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4252,7 +4252,7 @@ "bDN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bDO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bDP" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) -"bDQ" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bDQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) "bDR" = (/obj/structure/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bDS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "bDT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -4287,7 +4287,7 @@ "bEw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central) "bEx" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "hazard door west"},/turf/simulated/floor,/area/hallway/primary/central) "bEy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bEz" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bEz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bEA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "bEB" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central) "bEC" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central) @@ -4295,17 +4295,17 @@ "bEE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bEF" = (/obj/structure/stool/bed/roller,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/sleeper) "bEG" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/sleeper) -"bEH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bEH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bEI" = (/obj/machinery/sleeper,/turf/simulated/floor,/area/medical/sleeper) -"bEJ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) +"bEJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/item/weapon/storage/briefcase,/obj/item/weapon/stamp/cmo,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) "bEK" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bEL" = (/obj/machinery/door/window/southright{dir = 1; name = "Primate Pen"; req_access_txt = "5;9"},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/genetics) "bEM" = (/obj/machinery/computer/scan_consolenew,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bEN" = (/obj/machinery/iv_drip,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/sleeper) -"bEO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-bcarpet02"; icon_state = "bcarpet02"},/area/medical/cmo) -"bEP" = (/obj/machinery/light{dir = 1},/obj/item/weapon/storage/briefcase,/turf/simulated/floor{tag = "icon-bcarpet02"; icon_state = "bcarpet02"},/area/medical/cmo) -"bEQ" = (/obj/structure/rack,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{tag = "icon-bcarpet01"; icon_state = "bcarpet01"},/area/medical/cmo) -"bER" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/light{dir = 1},/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-bcarpet03"; icon_state = "bcarpet03"},/area/medical/cmo) +"bEO" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bEP" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bEQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/medical/cmo) +"bER" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bES" = (/obj/machinery/r_n_d/server/core,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) "bET" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) "bEU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating,/area/toxins/server) @@ -4356,14 +4356,14 @@ "bFN" = (/turf/simulated/wall,/area/maintenance/asmaint) "bFO" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bFP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/maintenance/asmaint) -"bFQ" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bFQ" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bFR" = (/obj/structure/stool/bed,/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"bFS" = (/obj/machinery/computer/crew,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-bcarpet09"; icon_state = "bcarpet09"},/area/medical/cmo) -"bFT" = (/obj/machinery/light,/obj/machinery/disposal,/turf/simulated/floor{tag = "icon-bcarpet07"; icon_state = "bcarpet07"},/area/medical/cmo) +"bFS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/medical/cmo) +"bFT" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{id_tag = "cmodoor"; name = "Chief Medical Officer"; req_access_txt = "40"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) "bFU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 0; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bFV" = (/turf/simulated/floor{tag = "icon-bcarpet08"; icon_state = "bcarpet08"},/area/medical/cmo) +"bFV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) "bFW" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/medical/cmo) -"bFX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/medical/cmo) +"bFX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-bcarpet02"; icon_state = "bcarpet02"},/area/medical/cmo) "bFY" = (/turf/simulated/wall,/area/medical/cryo) "bFZ" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench{pixel_x = 5; pixel_y = -5},/obj/machinery/light/small,/obj/item/weapon/crowbar,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bGa" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor,/area/medical/cryo) @@ -4373,7 +4373,7 @@ "bGe" = (/obj/machinery/computer/cloning,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bGf" = (/obj/machinery/dna_scannernew,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bGg" = (/turf/simulated/wall,/area/medical/genetics_cloning) -"bGh" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/gun/syringe,/turf/simulated/floor{tag = "icon-bcarpet08"; icon_state = "bcarpet08"},/area/medical/cmo) +"bGh" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-bcarpet02"; icon_state = "bcarpet02"},/area/medical/cmo) "bGi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bGj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bGk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) @@ -4422,11 +4422,11 @@ "bHb" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/janitor) "bHc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bHd" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor,/area/janitor) -"bHe" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bHe" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-bcarpet01"; icon_state = "bcarpet01"},/area/medical/cmo) "bHf" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/medical/cmo) -"bHg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/medical/cmo) -"bHh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{id_tag = "cmodoor"; name = "Chief Medical Officer"; req_access_txt = "40"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) -"bHi" = (/obj/structure/grille,/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) +"bHg" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/cmo) +"bHh" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/light{dir = 1},/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{tag = "icon-bcarpet03"; icon_state = "bcarpet03"},/area/medical/cmo) +"bHi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bHj" = (/obj/machinery/door_control{id = "scanhide"; name = "Scanning Room Shutters"; pixel_y = 25},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor,/area/medical/sleeper) "bHk" = (/obj/machinery/dna_scannernew,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bHl" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) @@ -4435,13 +4435,13 @@ "bHo" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 0; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/central) "bHp" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bHq" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor,/area/medical/sleeper) -"bHr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "Patient Rooms"}) +"bHr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/medical/cmo) "bHs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/camera{c_tag = "Medbay Patient Isolation Access"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bHt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"bHu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/medical/cmo) +"bHu" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/cmo) "bHv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bHw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"bHx" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/medical/cmo) +"bHx" = (/obj/structure/disposalpipe/segment,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/medical/cmo) "bHy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/cryo) "bHz" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bHA" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/engine,/area/toxins/misc_lab) @@ -4508,10 +4508,10 @@ "bIJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/medbreak) "bIK" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bIL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) -"bIM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/medical/cmo) +"bIM" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/cmo) "bIN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bIO" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) -"bIP" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) +"bIP" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/medical/cmo) "bIQ" = (/obj/machinery/camera{c_tag = "Medbay Starboard Corridor"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bIR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbreak) "bIS" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4590,21 +4590,21 @@ "bKn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bKo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bKp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bKq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) -"bKr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall,/area/medical/cmo) -"bKs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/medical/cmo) -"bKt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/medical/cmo) +"bKq" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/light{tag = "icon-officechair_white (EAST)"; icon_state = "officechair_white"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bKr" = (/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bKs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) +"bKt" = (/turf/simulated/floor{icon_state = "white"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/iso_access{name = "Patient Rooms"}) "bKu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/sleeper) -"bKv" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop{pixel_y = 6},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) -"bKw" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/item/weapon/stamp/cmo,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) +"bKv" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/folder/white{pixel_y = 10},/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) +"bKw" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "cmodoor"; name = "CMO Office Door"; normaldoorcontrol = 1; pixel_x = 13; pixel_y = 28; range = 6; req_access_txt = null},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/structure/stool/bed/chair/office/light{dir = 1},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) "bKx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bKy" = (/obj/machinery/door_control{id = "medprivc"; name = "Privacy Shutters"; pixel_y = 25},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bKz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bKA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/asmaint) "bKB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint) "bKC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) -"bKD" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "cmodoor"; name = "CMO Office Door"; normaldoorcontrol = 1; pixel_x = 13; pixel_y = 28; range = 6; req_access_txt = null},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) -"bKE" = (/obj/machinery/door_control{id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_y = -25},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) +"bKD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door_control{id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_y = -25},/turf/simulated/floor{tag = "icon-bcarpet05"; icon_state = "bcarpet05"},/area/medical/cmo) +"bKE" = (/obj/structure/table,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{tag = "icon-bcarpet08"; icon_state = "bcarpet08"},/area/medical/cmo) "bKF" = (/obj/machinery/iv_drip,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/sleeper) "bKG" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay Lobby)"; pixel_x = 0; pixel_y = -30},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bKH" = (/obj/machinery/vending/coffee,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) @@ -4662,8 +4662,8 @@ "bLH" = (/obj/machinery/door_control{id = "medpriva"; name = "Privacy Shutters"; pixel_y = 25},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bLI" = (/obj/structure/table,/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Patient Rooms"}) "bLJ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bLK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/medical/cmo) -"bLL" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/folder/white{pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-bcarpet06"; icon_state = "bcarpet06"},/area/medical/cmo) +"bLK" = (/obj/item/weapon/gun/syringe,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/structure/table,/turf/simulated/floor{tag = "icon-bcarpet08"; icon_state = "bcarpet08"},/area/medical/cmo) +"bLL" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light,/turf/simulated/floor{tag = "icon-bcarpet07"; icon_state = "bcarpet07"},/area/medical/cmo) "bLM" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bLN" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/medbreak) "bLO" = (/obj/machinery/power/apc{dir = 8; name = "Custodial Closet APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor) @@ -4678,7 +4678,7 @@ "bLX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbreak) "bLY" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/power/apc{dir = 4; name = "Medbay Equipment APC"; pixel_x = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bLZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bMa" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bMa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/cmo) "bMb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bMc" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/toxins/misc_lab) "bMd" = (/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/engine,/area/toxins/misc_lab) @@ -4741,7 +4741,7 @@ "bNi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "bNj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/cmo) "bNk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bNl" = (/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"bNl" = (/obj/machinery/computer/crew,/obj/machinery/light,/turf/simulated/floor{tag = "icon-bcarpet09"; icon_state = "bcarpet09"},/area/medical/cmo) "bNm" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/fpmaint) "bNn" = (/obj/machinery/shieldwallgen{req_access = list(55)},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/engine,/area/toxins/misc_lab) "bNo" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor/engine,/area/toxins/misc_lab) @@ -4785,11 +4785,11 @@ "bOa" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bOb" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bOc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bOe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) +"bOd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay2) +"bOe" = (/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/medbay2) "bOf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bOg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/medical/medbay2) -"bOh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/medical/cmo) +"bOh" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/medical/chemistry) "bOi" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) "bOj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bOk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -4798,7 +4798,7 @@ "bOn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bOo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/chemistry) "bOp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "33"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bOq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bOq" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/medbay2) "bOr" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/storage/pill_bottle/antitox,/turf/simulated/wall,/area/medical/chemistry) "bOs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bOt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) @@ -4856,7 +4856,7 @@ "bPt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bPu" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/wall/r_wall,/area/atmos) "bPv" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b"; level = 2},/turf/simulated/wall/r_wall,/area/atmos) -"bPw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 4; name = "Chemistry/Med APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-whiteyellowfull"; icon_state = "whiteyellowfull"},/area) +"bPw" = (/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/chemistry) "bPx" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Examination Room"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room) "bPy" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR: EMERGENCY ENTRANCE'."; name = "KEEP CLEAR: EMERGENCY ENTRANCE"; pixel_x = 32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "bPz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6;5"},/turf/simulated/floor{icon_state = "white"},/area/medical/morgue) @@ -4942,7 +4942,7 @@ "bRb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bRc" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bRd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft) -"bRe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bRe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay2) "bRf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft) "bRg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) "bRh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) @@ -4977,12 +4977,12 @@ "bRK" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos) "bRL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bRM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bRN" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bRN" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay2) "bRO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bRP" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bRP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/medbay2) "bRQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bRR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/medical/medbay3) -"bRS" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/power/apc{dir = 8; name = "Emergency Unit APC"; pixel_x = -25},/obj/structure/cable,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bRS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bRT" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab) "bRU" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab) "bRV" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab) @@ -5028,7 +5028,7 @@ "bSJ" = (/obj/machinery/camera{c_tag = "Atmospherics Waste Tank"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) "bSK" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) "bSL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bSM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bSM" = (/turf/simulated/floor{icon_state = "white"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/medbay2) "bSN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bSO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bSP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -5036,7 +5036,7 @@ "bSR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint) "bSS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cryo) "bST" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics"; req_access_txt = "5; 9"},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) -"bSU" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 3; req_access_txt = null},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bSU" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 3; req_access_txt = null},/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/medbay2) "bSV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bSW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bSX" = (/obj/machinery/light{dir = 1},/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = 30; pixel_z = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -5090,7 +5090,7 @@ "bTT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bTU" = (/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/genetics_cloning) "bTV" = (/turf/simulated/wall/r_wall,/area/medical/virology) -"bTW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"bTW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay2) "bTX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bTY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/medbay3) "bTZ" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medbay3) @@ -5099,7 +5099,7 @@ "bUc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/securearea{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bUd" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bUe" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bUf" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bUf" = (/turf/simulated/floor{tag = "icon-whiteyellowfull"; icon_state = "whiteyellowfull"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 4; name = "Chemistry/Med APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-siding2"; icon_state = "siding2"},/area) "bUg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bUh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bUi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -5145,11 +5145,11 @@ "bUW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bUX" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "waste_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) "bUY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bUZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bUZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bVa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay3) "bVb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/medical/chemistry) -"bVc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) -"bVd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) +"bVc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) +"bVd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bVe" = (/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/medical/medbay3) "bVf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/medical/medbay3) "bVg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay3) @@ -5190,11 +5190,11 @@ "bVP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/construction) "bVQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/construction) "bVR" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) -"bVS" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) +"bVS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) "bVT" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) "bVU" = (/turf/simulated/wall,/area/atmos) -"bVV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) -"bVW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) +"bVV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) +"bVW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/genetics_cloning) "bVX" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/medical/exam_room) "bVY" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/medical/reception) "bVZ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) @@ -5260,11 +5260,11 @@ "bXh" = (/turf/simulated/floor/engine/n20,/area/atmos) "bXi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) "bXj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay Emergency Entrance"; req_access_txt = "5"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/medbay2) -"bXk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bXk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "bXl" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/medbay2) "bXm" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bXn" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_y = 8},/obj/item/weapon/storage/box/masks{pixel_y = -3},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bXo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) +"bXo" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/cryo) "bXp" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "bXq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/toxins/xenobiology) "bXr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -5289,12 +5289,12 @@ "bXK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "bXL" = (/turf/unsimulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/centcom) "bXM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bXN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) +"bXN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bXO" = (/obj/machinery/atmospherics/pipe/manifold{color = "cyan"; dir = 1; icon_state = "manifold-c"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engine/break_room) "bXP" = (/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bXQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area/medical/cryo) "bXR" = (/obj/machinery/atmospherics/pipe/manifold{color = "cyan"; icon_state = "manifold-c"; level = 2},/turf/simulated/floor,/area/atmos) -"bXS" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) +"bXS" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor,/obj/machinery/power/apc{dir = 8; name = "Emergency Unit APC"; pixel_x = -25},/obj/structure/cable,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/medical/sleeper) "bXT" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "bXU" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) "bXV" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; name = "Air to External"; on = 1},/turf/simulated/floor,/area/atmos) @@ -5327,9 +5327,9 @@ "bYw" = (/obj/structure/table,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bYx" = (/obj/structure/closet/wardrobe/genetics_white,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bYy" = (/obj/machinery/power/apc{dir = 1; name = "Genetics APC"; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/disks,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bYz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/camera{c_tag = "Genetics Fore"; network = list("SS13")},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bYz" = (/obj/machinery/power/apc{dir = 4; name = "Cryogenics APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-whitebluecorner"; icon_state = "whitebluecorner"},/area/medical/cryo) "bYA" = (/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) -"bYB" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) +"bYB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay2) "bYC" = (/turf/simulated/wall/r_wall,/area/medical/morgue) "bYD" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) "bYE" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/turf/simulated/floor,/area/atmos) @@ -5374,13 +5374,13 @@ "bZr" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) "bZs" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/atmos) "bZt" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) -"bZu" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"bZu" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/medbay2) "bZv" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/sleeper) "bZw" = (/turf/simulated/wall,/area/medical/virology) -"bZx" = (/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"bZx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/medbay2) "bZy" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bZz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) -"bZA" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"bZz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/medbay2) +"bZA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/primary/central) "bZB" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area) "bZC" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/toxins/xenobiology) "bZD" = (/obj/machinery/access_button{command = "cycle_exterior"; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "55"},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -5400,13 +5400,13 @@ "bZR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft) "bZS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) "bZT" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/aft) -"bZU" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) +"bZU" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/primary/central) "bZV" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/engine/break_room) "bZW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/recharge_station,/turf/simulated/floor,/area/engine/break_room) "bZX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/break_room) "bZY" = (/obj/machinery/computer/arcade,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/break_room) "bZZ" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/engine/break_room) -"caa" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) +"caa" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{tag = "icon-whitebluecorner"; icon_state = "whitebluecorner"},/area/medical/genetics_cloning) "cab" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics"; req_access_txt = "5; 9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) "cac" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos) "cad" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/atmos) @@ -5462,16 +5462,16 @@ "cbb" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "cbc" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "cbd" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cbe" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cbe" = (/turf/simulated/floor{icon_state = "white"},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/camera{c_tag = "Genetics Fore"; network = list("SS13")},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/genetics) "cbf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "cbg" = (/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/emergency) "cbh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/virology) "cbi" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cbj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/virology) "cbk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/storage/emergency) -"cbl" = (/obj/machinery/power/apc{dir = 4; name = "Cryogenics APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) +"cbl" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cbm" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) -"cbn" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cbn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cbo" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) "cbp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "cbq" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) @@ -5499,21 +5499,21 @@ "cbM" = (/obj/machinery/atmospherics/trinary/filter{dir = 1; icon_state = "intact_on"; name = "Gas filter (Toxins tank)"; on = 1},/turf/simulated/floor,/area/atmos) "cbN" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/atmos) "cbO" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "tox_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cbP" = (/obj/structure/stool,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Medbay Examination Room"; network = list("SS13")},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cbP" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/morgue) "cbQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/virology) "cbR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"cbS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) +"cbS" = (/obj/structure/stool/bed/chair/office/light{tag = "icon-officechair_white (EAST)"; icon_state = "officechair_white"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "cbT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cbU" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "cbV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "cbW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "cbX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"cbY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"cbZ" = (/obj/machinery/power/apc{dir = 1; name = "Medbay APC"; pixel_y = 24},/obj/structure/stool/bed/roller,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) -"cca" = (/obj/machinery/camera{c_tag = "Medbay Lobby Starboard"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"cbY" = (/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) +"cbZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) +"cca" = (/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/exam_room) "ccb" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "ccc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"ccd" = (/obj/machinery/light{dir = 1},/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"ccd" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "cce" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/floor/engine,/area/toxins/xenobiology) "ccf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology) "ccg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/engine,/area/toxins/xenobiology) @@ -5550,9 +5550,9 @@ "ccL" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/engine/break_room) "ccM" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/engine/break_room) "ccN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/engine/break_room) -"ccO" = (/obj/structure/stool,/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"ccO" = (/obj/structure/morgue,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/morgue) "ccP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central) -"ccQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central) +"ccQ" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/morgue) "ccR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central) "ccS" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Port to Filter"; on = 0},/turf/simulated/floor,/area/atmos) "ccT" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos) @@ -5561,9 +5561,9 @@ "ccW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) "ccX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "ccY" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"ccZ" = (/obj/structure/stool,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"ccZ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/exam_room) "cda" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sink/kitchen{name = "Medical Basin"; pixel_y = 28},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) -"cdb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) +"cdb" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/storage/emergency) "cdc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "cdd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "cde" = (/obj/machinery/camera{c_tag = "Morgue"; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Morgue APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) @@ -5592,7 +5592,7 @@ "cdB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/aft) "cdC" = (/turf/simulated/wall,/area/engine/break_room) "cdD" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Engineering Foyer APC"; pixel_x = -24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/engine/break_room) -"cdE" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cdE" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "cdF" = (/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) "cdG" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/hemostat,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "cdH" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/masks,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) @@ -5614,8 +5614,8 @@ "cdX" = (/obj/machinery/chem_master,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "cdY" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/camera{c_tag = "Chemistry"; network = list("SS13")},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "cdZ" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/plasma,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"cea" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central) -"ceb" = (/obj/machinery/camera{c_tag = "Medbay Lobby Port"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"cea" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/exam_room) +"ceb" = (/obj/structure/stool,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Medbay Examination Room"; network = list("SS13")},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) "cec" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology) "ced" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/xenobiology) "cee" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -5654,7 +5654,7 @@ "ceL" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera{c_tag = "Medbay Cryogenics"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) "ceM" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor,/area/medical/cryo) "ceN" = (/obj/machinery/camera{c_tag = "Medbay Cloning"; network = list("SS13")},/obj/structure/closet/wardrobe/medic_white,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"ceO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) +"ceO" = (/obj/machinery/power/apc{dir = 1; name = "Medbay APC"; pixel_y = 24},/obj/structure/stool/bed/roller,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) "ceP" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) "ceQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "ceR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -5688,9 +5688,9 @@ "cft" = (/obj/machinery/atmospherics/trinary/filter{dir = 1; filter_type = 3; icon_state = "intact_on"; name = "Gas filter (CO2 tank)"; on = 1},/turf/simulated/floor,/area/atmos) "cfu" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/atmos) "cfv" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "co2_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cfw" = (/obj/structure/stool,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{tag = "icon-whiteyellow (WEST)"; icon_state = "whiteyellow"; dir = 8},/area/medical/reception) -"cfx" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) -"cfy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6;9"},/turf/simulated/floor,/area/medical/morgue) +"cfw" = (/obj/machinery/camera{c_tag = "Medbay Lobby Starboard"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"cfx" = (/obj/machinery/light{dir = 1},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"cfy" = (/obj/structure/stool,/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor{tag = "icon-whitebluecorner"; icon_state = "whitebluecorner"},/area/medical/reception) "cfz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology) "cfA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) "cfB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -5839,7 +5839,7 @@ "cio" = (/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "cip" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "ciq" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room) -"cir" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cir" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/obj/structure/stool,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/medical/reception) "cis" = (/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/structure/table,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "cit" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos) "ciu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-g (SOUTHEAST)"; icon_state = "intact-g"; dir = 6; level = 2; color = "green"},/turf/simulated/floor/plating,/area/atmos) @@ -5890,7 +5890,7 @@ "cjn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/chiefs_office) "cjo" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room) "cjp" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cjq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cjq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "cjr" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{color = "green"; icon_state = "intact-g"; level = 2},/turf/space,/area) "cjs" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{color = "yellow"; icon_state = "intact-y"; level = 2},/turf/space,/area) "cjt" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{color = "cyan"; icon_state = "intact-c"; level = 2},/turf/space,/area) @@ -5923,7 +5923,7 @@ "cjU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/chiefs_office) "cjV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/engine/break_room) "cjW" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/engine/break_room) -"cjX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cjX" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/exam_room) "cjY" = (/obj/structure/sign/examroom,/turf/simulated/wall,/area/medical/reception) "cjZ" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos) "cka" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/atmos) @@ -6026,7 +6026,7 @@ "clT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/break_room) "clU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/break_room) "clV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/engine/break_room) -"clW" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"clW" = (/obj/machinery/camera{c_tag = "Medbay Lobby Port"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "clX" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) "clY" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) "clZ" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) @@ -6053,8 +6053,8 @@ "cmu" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/engineering) "cmv" = (/turf/simulated/wall,/area/engine/engineering) "cmw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) -"cmx" = (/obj/structure/table,/obj/item/weapon/cane,/obj/item/weapon/cane,/obj/item/weapon/cane,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) -"cmy" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cmx" = (/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/reception) +"cmy" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/reception) "cmz" = (/turf/simulated/wall,/area/medical/exam_room) "cmA" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/pen,/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "cmB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/toxins/xenobiology) @@ -6073,7 +6073,7 @@ "cmO" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) "cmP" = (/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/engine/engineering) "cmQ" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Mech Bay"; req_access_txt = "29"; req_one_access_txt = "0"},/turf/simulated/floor,/area/assembly/chargebay) -"cmR" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/reception) +"cmR" = (/obj/structure/stool,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{tag = "icon-whiteyellowcorner (WEST)"; icon_state = "whiteyellowcorner"; dir = 8},/area/medical/reception) "cmS" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/chem_dispenser,/turf/simulated/floor{tag = "icon-whiteyellowfull"; icon_state = "whiteyellowfull"},/area/medical/chemistry) "cmT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/break_room) "cmU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -6099,7 +6099,7 @@ "cno" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) "cnp" = (/turf/simulated/wall,/area/medical/reception) "cnq" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency) -"cnr" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"cnr" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/stool,/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/medical/reception) "cns" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "cnt" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "cnu" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) @@ -6164,11 +6164,11 @@ "coB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) "coC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) "coD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_east_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"coE" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/folder/white{pixel_y = 10},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) -"coF" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/folder/white,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/reception) -"coG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) -"coH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) -"coI" = (/obj/structure/stool/bed,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"coE" = (/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/reception) +"coF" = (/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-whitebluecorner"; icon_state = "whitebluecorner"},/area/medical/reception) +"coG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6;9"},/turf/simulated/floor,/area/medical/morgue) +"coH" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"coI" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "coJ" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "coK" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/light{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "coL" = (/obj/machinery/field_generator,/turf/simulated/floor/plating,/area/engine/engineering) @@ -6183,7 +6183,7 @@ "coU" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) "coV" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_east_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) "coW" = (/obj/machinery/optable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) -"coX" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"coX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "coY" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_west_pump"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor/plating,/area/engine/engineering) "coZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/engine/engineering) "cpa" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/engine/engineering) @@ -6210,7 +6210,7 @@ "cpv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering) "cpw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engine/engineering) "cpx" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "engineering_east_pump"; exterior_door_tag = "engineering_east_outer"; frequency = 1379; id_tag = "engineering_east_airlock"; interior_door_tag = "engineering_east_inner"; pixel_x = -25; req_access_txt = "10;13"; sensor_tag = "engineering_east_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_east_sensor"; pixel_x = -25; pixel_y = 12},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cpy" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-barber"; icon_state = "barber"},/area/medical/exam_room) +"cpy" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/exam_room) "cpz" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) "cpA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_west_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/engine/engineering) "cpB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area) @@ -7193,7 +7193,7 @@ "cIq" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "cIr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "cIs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"cIt" = (/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/medical/reception) +"cIt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) "cIu" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) "cIv" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) "cIw" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) @@ -7218,7 +7218,7 @@ "cIP" = (/obj/machinery/computer/pod{id = "NTrasen"; name = "Hull Door Control"},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) "cIQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "cIR" = (/obj/structure/mopbucket,/turf/unsimulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/centcom/specops) -"cIS" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) +"cIS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/exam_room) "cIT" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/starboard) "cIU" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard) "cIV" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/hallway/primary/starboard) @@ -7232,15 +7232,15 @@ "cJd" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/starboard) "cJe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard) "cJf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard) -"cJg" = (/turf/simulated/floor,/area/medical/reception) +"cJg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "cJh" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) "cJi" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "cJj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "cJk" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (EAST)"; icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"cJl" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access_txt = "39"},/turf/simulated/floor,/area/medical/reception) -"cJm" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception) -"cJn" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"cJo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) +"cJl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) +"cJm" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access_txt = "39"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"cJn" = (/obj/machinery/power/apc{dir = 2; name = "Medbay Reception APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"cJo" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "cJp" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/centcom) "cJq" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor,/area/medical/virology) "cJr" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) @@ -7286,7 +7286,7 @@ "cKf" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "cKg" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) "cKh" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"cKi" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/medical/medbay2) +"cKi" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/exam_room) "cKj" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) "cKk" = (/obj/machinery/atm{pixel_x = 24},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) "cKl" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) @@ -9377,7 +9377,7 @@ "dyq" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored) "dyr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/research_outpost/gearstore) "dys" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/gearstore) -"dyt" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/medical/medbay2) +"dyt" = (/obj/structure/table,/obj/item/weapon/cane,/obj/item/weapon/cane,/obj/item/weapon/cane,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/exam_room) "dyu" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/gearstore) "dyv" = (/turf/simulated/floor,/area/research_outpost/gearstore) "dyw" = (/obj/machinery/recharge_station,/turf/simulated/floor,/area/research_outpost/gearstore) @@ -10012,16 +10012,16 @@ "dKB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/living_quarters) "dKC" = (/obj/machinery/door/airlock/external{name = "Mining Shuttle Airlock"; req_access_txt = "48"},/turf/simulated/floor/plating,/area/mine/production) "dKD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central) -"dKE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"dKF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"dKG" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access_txt = "39"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/reception) -"dKH" = (/obj/machinery/power/apc{dir = 2; name = "Medbay Reception APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/medical/reception) -"dKI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dKE" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) +"dKF" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/folder/white{pixel_y = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"dKG" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 26; range = 6},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/stool/bed/chair/office/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"dKH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) +"dKI" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "dKJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dKK" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dKL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dKM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central) -"dKN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dKN" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 6; req_access_txt = null},/obj/effect/landmark/start{name = "Medical Doctor"},/obj/structure/stool/bed/chair/office/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "dKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "24"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dKP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) "dKQ" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/maintenance/asmaint) @@ -10029,9 +10029,9 @@ "dKS" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/maintenance/asmaint) "dKT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central) "dKU" = (/obj/machinery/camera{c_tag = "Central Hallway South-East"; dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central) -"dKV" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/folder/white{pixel_y = 10},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception) -"dKW" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 26; range = 6},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception) -"dKX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception) +"dKV" = (/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"dKW" = (/obj/structure/filingcabinet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"dKX" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "dKY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "dKZ" = (/obj/structure/rack,/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "dLa" = (/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) @@ -10074,32 +10074,32 @@ "dLL" = (/obj/structure/rack,/obj/item/bodybag,/obj/item/bodybag,/obj/item/bodybag,/obj/item/bodybag,/obj/item/bodybag,/obj/item/bodybag,/turf/unsimulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/centcom/specops) "dLM" = (/obj/structure/rack,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/centcom/specops) "dLN" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"dLO" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception) -"dLP" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 6; req_access_txt = null},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) -"dLQ" = (/obj/machinery/computer/crew,/turf/simulated/floor,/area/medical/reception) -"dLR" = (/obj/structure/filingcabinet/medical,/turf/simulated/floor,/area/medical/reception) +"dLO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) +"dLP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whitebluecorner"; icon_state = "whitebluecorner"},/area/medical/reception) +"dLQ" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) +"dLR" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "dLS" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dLT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/maintenance/asmaint) -"dLU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) +"dLU" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "dLV" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"dLW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"dLX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"dLY" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) -"dLZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-green"; icon_state = "green"},/area/medical/medbay2) -"dMa" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"dMb" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"dMc" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) -"dMd" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"dLW" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 5; pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"dLX" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"dLY" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/folder/white{pixel_y = 10},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/exam_room) +"dLZ" = (/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/reception) +"dMa" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/folder/white,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) +"dMb" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access_txt = "5"},/obj/item/device/radio/intercom{broadcasting = 1; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"dMc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) +"dMd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/exam_room) "dMe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"dMf" = (/turf/simulated/floor{tag = "icon-green (SOUTHWEST)"; icon_state = "green"; dir = 10},/area/medical/medbay2) -"dMg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) +"dMf" = (/obj/structure/stool/bed,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/exam_room) +"dMg" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{tag = "icon-whitebluecorner (NORTH)"; icon_state = "whitebluecorner"; dir = 1},/area/medical/exam_room) "dMh" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"dMi" = (/turf/simulated/floor{icon_state = "green"; dir = 6},/area/medical/medbay2) +"dMi" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/airless{icon_state = "white"},/area/medical/exam_room) "dMj" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/medical/virology) "dMk" = (/obj/machinery/camera{c_tag = "Virology Monkey Pen"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/medical/virology) "dMl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "dMm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/medical/virology) -"dMn" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access_txt = "5"},/obj/item/device/radio/intercom{broadcasting = 1; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"dMn" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-whiteyellow (WEST)"; icon_state = "whiteyellow"; dir = 8},/area/medical/reception) "dMo" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access_txt = "39"},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/virology) "dMp" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/medical/virology) "dMq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/medical/virology) @@ -10154,7 +10154,7 @@ "dNn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) "dNo" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room) "dNp" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"dNq" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/medical/biostorage) +"dNq" = (/turf/simulated/floor{tag = "icon-whitebluecorner"; icon_state = "whitebluecorner"},/area/medical/reception) "dNr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/virology) "dNs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/virology) "dNt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) @@ -10166,7 +10166,7 @@ "dNz" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "dNA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/engine/break_room) "dNB" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"dNC" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/medical/biostorage) +"dNC" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/morgue) "dND" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dNE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dNF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/device/antibody_scanner,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -10177,7 +10177,7 @@ "dNK" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/engine/break_room) "dNL" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dNM" = (/obj/machinery/computer/diseasesplicer,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"dNN" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/medical/biostorage) +"dNN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor,/area/medical/virology) "dNO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Virology Break/Access"; dir = 8; network = list("SS13")},/obj/structure/stool/bed,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dNP" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dNQ" = (/obj/machinery/disease2/diseaseanalyser,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -10211,7 +10211,7 @@ "dOs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/engine/engineering) "dOt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/engine/engineering) "dOu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/medbay2) -"dOv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/medbay2) +"dOv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/medical/medbay2) "dOw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) "dOx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/turf/simulated/floor/plating,/area/medical/medbay2) "dOy" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/box/masks,/turf/simulated/floor,/area/medical/biostorage{name = "Medbay Clothing Storage"}) @@ -10253,7 +10253,7 @@ "dPi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/atmos) "dPj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/atmos) "dPk" = (/obj/structure/closet,/obj/item/clothing/under/bluepyjamas,/obj/machinery/power/apc{dir = 1; name = "Recovery Ward"; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"dPl" = (/obj/structure/closet,/obj/item/clothing/under/bluepyjamas,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dPl" = (/turf/simulated/floor{icon_state = "dark"},/area/medical/medbay2) "dPm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/medical/medbay2) "dPn" = (/turf/simulated/wall/r_wall,/area/medical/medbay2) "dPo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -10268,9 +10268,9 @@ "dPx" = (/obj/machinery/computer/curer,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dPy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) "dPz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/atmos) -"dPA" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"dPA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dPB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"dPC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/closet/crate/freezer{name = "Blood Storage - O Negative"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dPC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/asmaint) "dPD" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) "dPE" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) "dPF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/engine/break_room) @@ -10279,10 +10279,10 @@ "dPI" = (/obj/structure/sign/deathsposal,/turf/simulated/wall/r_wall,/area/medical/virology) "dPJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dPK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) -"dPL" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"dPM" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"dPL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dPM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dPN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/engine/break_room) -"dPO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/structure/closet/crate/freezer{name = "Blood Storage - Assorted"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dPO" = (/turf/simulated/floor{icon_state = "dark"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-siding2"; icon_state = "siding2"},/area/medical/medbay2) "dPP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dPQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dPR" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -10293,7 +10293,7 @@ "dPW" = (/obj/structure/table,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Virology Port"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dPX" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "dPY" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"dPZ" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"dPZ" = (/turf/simulated/floor{icon_state = "dark"},/turf/simulated/floor{tag = "icon-siding2"; icon_state = "siding2"},/area/medical/medbay2) "dQa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/medical/virology) "dQb" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) "dQc" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -10323,8 +10323,8 @@ "dQA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "dQB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/medbay2) "dQC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/medical/medbay2) -"dQD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/closet/crate/freezer{name = "Blood Storage - Empty"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"dQE" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dQD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dQE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-greenfull"; icon_state = "greenfull"},/area/medical/virology) "dQF" = (/obj/machinery/computer/med_data,/obj/machinery/light,/turf/simulated/floor,/area/medical/surgery) "dQG" = (/obj/structure/table,/obj/item/roller,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/surgery) "dQH" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/cautery,/turf/simulated/floor,/area/medical/surgery) @@ -10336,16 +10336,16 @@ "dQN" = (/obj/structure/table,/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/machinery/door_control{id = "engitrain"; name = "Engineering Training"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "56"; specialfunctions = 4},/turf/simulated/floor,/area/engine/break_room) "dQO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) "dQP" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/hallway/secondary/construction{name = "\improper Engineering Training"}) -"dQQ" = (/obj/structure/table,/obj/item/roller,/obj/item/roller,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) +"dQQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{tag = "icon-greenfull"; icon_state = "greenfull"},/area/medical/virology) "dQR" = (/obj/machinery/power/apc{dir = 2; name = "Surgery APC"; pixel_y = -24},/obj/structure/cable,/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "dQS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"dQT" = (/turf/simulated/floor{dir = 5; icon_state = "green"},/area/medical/medbay2) -"dQU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/medical/medbay2) -"dQV" = (/turf/simulated/floor{dir = 9; icon_state = "green"},/area/medical/medbay2) +"dQT" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{tag = "icon-greenfull"; icon_state = "greenfull"},/area/medical/virology) +"dQU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{tag = "icon-greenfull"; icon_state = "greenfull"},/area/medical/virology) +"dQV" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-greenfull"; icon_state = "greenfull"},/area/medical/virology) "dQW" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/medical/ward) "dQX" = (/obj/machinery/door_control{id = "surgeryobs"; name = "Privacy Shutters"; pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "dQY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/surgery) -"dQZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 0; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) +"dQZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{tag = "icon-greenfull"; icon_state = "greenfull"},/area/medical/virology) "dRa" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/engine/break_room) "dRb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/engine/break_room) "dRc" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/engine/break_room) @@ -10368,18 +10368,29 @@ "dRt" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dRu" = (/obj/structure/rack,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 5},/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/machinery/power/apc{dir = 4; name = "Maintenance Storage APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "dRv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dRw" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/medical/virology) +"dRx" = (/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "dRy" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) "dRz" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) "dRA" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall,/area/engine/break_room) "dRB" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/construction_storage) "dRC" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/construction_storage) "dRD" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor,/area/engine/construction_storage) +"dRE" = (/obj/machinery/door/airlock/medical{name = "Quarantine Room"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"dRF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "dRG" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft) "dRH" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) "dRI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) "dRJ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) "dRK" = (/obj/machinery/optable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"dRL" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) "dRM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"dRN" = (/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/medical/iso_access{name = "Medbay Quarantine"}) +"dRO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"dRP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"dRQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "Medbay Quarantine"}) +"dRR" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dRS" = (/turf/simulated/floor{icon_state = "white"},/obj/structure/closet,/obj/item/clothing/under/bluepyjamas,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/ward) "dRT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 0; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "dRU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/surgery) "dRV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/atmos) @@ -10389,12 +10400,17 @@ "dRZ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "dSa" = (/turf/simulated/wall/r_wall,/area/medical/surgery) "dSb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/medical/surgery) +"dSc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dSd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dSe" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/AMinus,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) +"dSf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "dSg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/asmaint) "dSh" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSi" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/surgery) "dSj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Surgery Storage"; req_access_txt = "45"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "dSk" = (/obj/structure/extinguisher_cabinet,/turf/simulated/wall,/area/medical/surgery) -"dSm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "39"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) +"dSl" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dSm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "dSn" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft) "dSo" = (/obj/structure/table,/turf/simulated/floor,/area/atmos) "dSp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor,/area/atmos) @@ -10403,17 +10419,22 @@ "dSs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSt" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/maintenance/asmaint) "dSu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area/maintenance/asmaint) +"dSv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/rack{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dSw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/rack{dir = 1},/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSx" = (/obj/structure/sign/biohazard,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/maintenance/asmaint) +"dSy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dSz" = (/obj/structure/rack{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"dSA" = (/obj/structure/table,/obj/item/roller,/obj/item/roller,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) +"dSB" = (/turf/simulated/floor{icon_state = "dark"},/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/medbay2) "dSC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/medical/surgery) "dSE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"dSF" = (/turf/simulated/floor{icon_state = "dark"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-siding1"; icon_state = "siding1"},/area/medical/medbay2) +"dSG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 0; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light/small{dir = 4},/obj/machinery/camera{c_tag = "Medbay Surgery Cold Storage"; dir = 8; network = list("SS13")},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "dSI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) "dSJ" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) "dSK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/engine/break_room) -"dSL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"dSM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"dSO" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dSU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay2) "dSV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/medbay2) @@ -10504,17 +10525,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMadSadTadUadVadWadXadYadZaaGaeaaebaaMaaaaaaabMaecaedachaeeaefabMaegaaSaehaeiaejaaSaekaoVapUamMaonalbalcakOaeraesaetadPadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMaaiaaiaaiaaiacNaguaewaevaexaexaexaexaexaexabMabMaeyaezaeAabMabMaeBaeCaeDaeEaeFaeGaeHaqAaqFaffapVaiKaqzaeMaeNaeOaePaeQaeRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeSaeTaeUaeVaeWadAaexaeXaeYaeYaeYaeYaegaeZafaafbafcafdaegafeaffafgafhafiafjafkaflaflafmarNafoarMafqafrafsaftafuafvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiafwafxafyafzadhafAaexafBafCafDafEafDafFafGafHafIafJafKafLafMafNafOafPafQafRafSafTafUafVarOafSasrafZagaagbagcagdadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiageaaoagfaggaghagiaexagjagkafDaglagmaegagnagoagpagqagraegagsaenagtaoYagvagwaemagxagyagzagyaemarKagBagCagDagEagFaeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiagGagHagIagJagKadAaexagLagMagNagOagLabMagPagQagRagSagTaegagsaenagtagUagVagWagXagYagYagZagYahaarLahcahdaheaheahfahgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiahhahiahjaexahkahlahmahnahmahoahpahqahrahsahtahuahvaenagtahwahxahyaemahzagyahzagyahAarEahCahDahEahFadPadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahGahHadAaexahIahJahKahLahMahNahOahPahQahRahSahTahUahVagtahWahxahXaemagxagyagxahYahZarJadPadPaiaaibadPaicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeuadBabRaexaifaigaihaiiahMaijaikailahraimainahuaioaenagtaipaiqairaisaitaiuaemaivaiwareabYabXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiafwafxafyafzadhafAaexafBafCafDafEafDafFafGafHafIafJafKafLafMafNbgyafPafQafRafSafTafUafVarOafSasrafZagaagbagcagdadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiageaaoagfaggaghagiaexagjagkafDaglagmaegagnagoagpagqagraegagsaenaiUaoYagvagwaemagxagyagzagyaemarKagBagCagDagEagFaeLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiagGagHagIagJagKadAaexagLagMagNagOagLabMagPagQagRagSagTaegagsaenaiUagUagVagWagXagYagYagZagYahaarLahcahdaheaheahfahgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiahhahiahjaexahkahlahmahnahmahoahpahqahrahsahtahuahvaenaiUahwahxahyaemahzagyahzagyahAarEahCahDahEahFadPadPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahGahHadAaexahIahJahKahLahMahNahOahPahQahRahSahTahUahVaiUahWahxahXaemagxagyagxahYahZarJadPadPaiaaibadPaicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeuadBabRaexaifaigaihaiiahMaijaikailahraimainahuaioaenaiUaipaiqairaisaitaiuaemaivaiwareabYabXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexaexaexaexagLaixaiyaizaexaiAaiBaiCaiiahMaegaiDaiEaiFaiGaiHaegaiIaiJaiKaiLaffaiMabXaiNaiOaiPaiQaiRarDaiTabXabXabYabYabYabYabYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaexaiUaiVaiWaiXaiYaiZajaaexajbajcajbajdajbaegagPagQajeagSagTaegabXajfajgabXajhajiabXajjajkajkajlabXajmaiTaiTabXaiSajnajoajoafXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaexagtaiVaiWaiXaiYaiZajaaexajbajcajbajdajbaegagPagQajeagSagTaegabXajfajgabXajhajiabXajjajkajkajlabXajmaiTaiTabXaiSajnajoajoafXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaexajqajrajsajtajuajvajwajxajxajyajzajAajxajxajxajAajBajyajCajDajzajEajFajGajHafYajJajKajLajMagAahBasyajQajRafWaiTajSajTafpaeIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaexajWajXajYajZakaakbakcakdakeakfakgakhakiakjakdakiakkaklakmakiakgakhakiakiaknakoakpaiCakqakrafnaeKaeJajRakuabXaiTakvajoajoaeqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaexaexaexaexaexaexaexaexakxakyakzaexaexagLakAakBakCakDakEabQakGagLaexaexaexakHakIakJakJakKakLakMakNakJacdahbabXabXabYabYabYabYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaexaexaexaexaexaexaexaexakxakyakzaexaexagLakAakBakCakDafOabQakGagLaexaexaexakHakIakJakJakKakLakMakNakJacdahbabXabXabYabYabYabYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabakPaexakQakRakSakTakUakVakWakXakYakZalaaepaeoaldalealfalgakZalhaliakWaljalkakJallalmalnaloalpalqacdalralsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalualualualvalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaalvalvalualvalvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabalwaexalxalyalzaexalAalBalCalDalEalFalGalHalIalJalKalLalgalMalNalDalOalPalkakJalQalRalRalSalRalTacdalralsaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaluaaaaabaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabalValWaexalXalYalZaexamaambamcamdameamfamgamhamiamjalKamkalgamfamlammamnamoampakJamqamralRalSalRamsacdalralsaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaluaabamtaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10532,9 +10553,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasGasHasIasHasGasJasKasJasGaabaseasLasMaaaaaaaaaaaaaaaaaaaaaaluaabanQanQanQanQanQaabaoDaabanQanQanQanQanQaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabapfasNasOapfaoIapfasPasQasRasSasTasUaqTasVasmasWasWarzasmasoapiapobABalsasYasZataatbatcatdateatfatdatgathatiatdatjatkatlatmbxDatoatpatqatratsattasDasEasFasFasFasFasFasEasDaabaaaaaaaaaalvaabaotaouaouaouaouaovaowaoxaoyaoyaoyaoyaozaabaluaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuasHatvasHatuasJatwasJatuatxatyatzatAatBatBatCatxatxaabaaaaluaabaoAaoBaoBaoBaoBaoCaoDaoEaoFaoFaoFaoFaoGaabaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabapfatDatEatFatGatHatIatJatKatLatMatNaqTatOatPatQatRatSatTasoapiapobuxalsasYasZatUatVatcatdatWatXatdatYatZauaatdaubatZaucasDaudaueaufaPUaPWaPYaPZaQaaulasFasFasFasFasFaumasDasDasDaaaaaaalvaaaapdapdapdapdapdaabaowaabapdapdapdapdapdaaaalUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuaunauoaupatuauqaurausatuaqQaqQautauuaFLauwauxauyatxaaaaaaalUaaaapeapeapeapeapeaabaoDaabapeapeapeapeapeaaaaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaacapfaIkaoHapfauAapfauBauCauDauEauFauGaqTauHauIauJauJauKauLauMauNauOasXauQauRauSatUatbatcatdauTatXatdatdauUatdatdatdauVatdasDauWauXaOIaOIaOPaOKaOMaOJaveasFasFasFasFasFavfavgavhaviaaaaaaalvaaaaabaaaaabaabaaaaaaaowaaaaaaaabaaaaaaaabaaaaluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuavjavkavlatuavjavkavlatuavmavnavoavoavoavoavpavqarmaaaaaaaluaaaaabaaaaabaabaaaaaaavraaaaaaaabaaaaaaaabaaaaluaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaacapfapfapfapfauAapfavsavtavtavuavtavvavtavwavxavxavxavxavyavzavAapoauPalsavCastavDatbavEavFauTavGavHavIavJavJavKavLavJavMavNavOavPavSavSavSavSavUaPRavWasFasFasFasFasFavWavXavYavZaaaaaaalvalvaluaaaaaaaabaaaaaaaowaaaaabaabaabaabalualualuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaasGatuawaawbasGatuawaawbasGatxawcatxatxatxatxatxawdaseaaaaaaalualualuaaaaaaaabaaaaweawfaweaabaabaabaabalualualuaabapfapfapfapfawgawhawhawhawhawhawhawhawiapfapfawjawkawlapfawmaoHawnawoawpawqawqawqawrawqawsawqawtawuawvawvawwawwawxawyawzawAaqjawBawCawDawEawFatdauTawGawGawHawIawIawJawHawGawGawKawLavBavSavSavSavSavUaPSawOasFasFasFasFasFawOawPavYavZaaaaaaaaaaaaaabaabaaaaabaaaaaaawQaaaaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRawSawSawSawTawSawSawSawUawVawWawUawUawUawXatxawYaseaaaaabaabaaaaaaaaaaaaaabaaaawZaxaaxbaabaaaaabaaaaaaaaaaaaaaaapfaoHaoHaxcaoHaoHaoHaoHaoHaoHaoHaoHaxdaxeaxfaxgaxgaxgaxgaxgaxgaxhaxiaxjaxkaxkaxkaxkaxlaxmaxkbniaxoaxlaxkaxkaxkaxkaxpaxqaxraxsaxtauSatdatdatdatdatWaxuawGawHawIaxvawIaxwaxxaxyaxzaxAaxBavSavSavSavSavUaPTaxIasFasFasFasFasFaxJaxKaxLaxMaaaaaaaaaaaaaaaaabaaaaabaaaaxNaxOaxNaaaaabaaaaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuavjavkavlatuavjavkavlatuavmavnavoavoavoavoavpavqarmaaaaaaaluaaaaabaaaaabaabaaaaaaavraaaaaaaabaaaaaaaabaaaaluaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaacapfapfapfapfauAapfavsavtavtavuavtavvavtavwavxavxavxavxavyavzavAapoauPalsavCastavDatbavEavFauTavGavHavIavJavJavKavLavJavMavNavOavPbgFavSavSbgPavUaPRavWasFasFasFasFasFavWavXavYavZaaaaaaalvalvaluaaaaaaaabaaaaaaaowaaaaabaabaabaabalualualuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaasGatuawaawbasGatuawaawbasGatxawcatxatxatxatxatxawdaseaaaaaaalualualuaaaaaaaabaaaaweawfaweaabaabaabaabalualualuaabapfapfapfapfawgawhawhawhawhawhawhawhawiapfapfawjawkawlapfawmaoHawnawoawpawqawqawqawrawqawsawqawtawuawvawvawwawwawxawyawzawAaqjawBawCawDawEawFatdauTawGawGawHawIawIawJawHawGawGawKawLavBbgFavSavSbgPavUaPSawOasFasFasFasFasFawOawPavYavZaaaaaaaaaaaaaabaabaaaaabaaaaaaawQaaaaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawRawSawSawSawTawSawSawSawUawVawWawUawUawUawXatxawYaseaaaaabaabaaaaaaaaaaaaaabaaaawZaxaaxbaabaaaaabaaaaaaaaaaaaaaaapfaoHaoHaxcaoHaoHaoHaoHaoHaoHaoHaoHaxdaxeaxfaxgaxgaxgaxgaxgaxgaxhaxiaxjaxkaxkaxkaxkaxlaxmaxkbniaxoaxlaxkaxkaxkaxkaxpaxqaxraxsaxtauSatdatdatdatdatWaxuawGawHawIaxvawIaxwaxxaxyaxzaxAaxBbgSbhWbhWbhYavUaPTaxIasFasFasFasFasFaxJaxKaxLaxMaaaaaaaaaaaaaaaaabaaaaabaaaaxNaxOaxNaaaaabaaaaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaxQaxRaxSaxTaxRaxRaxUaxSaxRaxVaxWaxXaxXaxYatxawYatyaabaabaaaaaaaaaaaaaaaaabaxZayaaybaycaydaaaaabaaaaaaaaaaaaaaaapfaoHapfayeayfaygaygaygaygaygaygaygayhayeayiayjayjayjayjayjayjayjaykaylaxkaymaynayoaypayqayraysaytayuayvaynaywaxkayxapoayyalsayzasZataatbatcatdauTayAayBaxyaxyayCayDayEayFayGavNayHayIayJayKayKayLayMaYVayOasFasFasFasFasFayPasDasDasDaaaaaaaaaaaaaabaabaabaabaaaayQayRayQaaaaabaaaaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabatuawRaySawRayTaxRaxRayUawRaySawRayVaxQaxTayWatxawYatxatxayXatBatBatBatBatCatxayYayZazaazbayYapfapfawjawkawlapfapfapfaoHaroayeaaaaabaaaaabaaaaabaaaaabaaaayeayiayjazcazdazeazfazgayjaykaoHaxkazhazhaziazjazkazlazmaznazoazpazqazqaxkayxapoazralsayzasZatUatbatcatdatWazsaztazuazvazwazxazyazyazzazyasDazAbakaZaazDazEazFasDazGasFasFasFasFasFazGasDaabaaaaaaaaaaaaaaaaabaabaaaaabazHazIazJazKazLaabaaaaaaaabaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabazMasGazNavkazOazPazQazRazSazOavkazTazUasGazVazWatxazXazYazYazYazYazYazYavqazZaAaayYaAbaAcaAdayYaAeaoHaoHaoHaoHaoHaoHaoHaoHaAfayeaabaAgaAgaAgaAgaAgaAgaAgaabayeayiayjaAhaAiaAjaAkaAhayjaykaAlaxkaxkaxkaxkaAmaAnaynaAoaAnaApaxkaxkaxkaxkayxapoaAqalsayzasZatUatbatcatdauTaArazyazyazyazyazyazyaAsaAtaAuazyasDasDasDasDaAvasDasDazGasFasFasFasFasFazGasDaaaaaaaaaaaaaagaaaaaaaaaaaaaabaAwaAxaAyaAzaAwaabaaaaaaaabaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10560,54 +10581,54 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMasGbcdaABaWoatuatuatuatuatuatubcebaOaTzaTxaTxaTxaTxaTxaTxaTxaTxaTxbcfaQGaYaaYbaZBbcgbchbciaYcbcjbckbclaPnaZIaZJbcmbcnaPnbbfaZNaZObbhbcobcobbhbcoaZObbjbcpbcqbcqbcrbcsbctaZUbcuaIJaYzbcvbcwbcxbcybczbczbcybcAbcBbadbaebcCbcDbcEbcFbcGbcHbcIbcJbcKbcLbcMbbLbcNbcObcPbbLbcQbagaYSbcRaIJbcSbcTbcUaZiaZiaZiaZiaZiaZiaZibcVaZiaZiaZiaZibcWaZiaZiaZiaZiaZiaZiaZiaZibcXaZiaZiaZiaZiaZiaZiaZiaZibcYbcZbdabdbbdcbdbbddbdbbdebdfbdgbdbbdhbdbbdibdjbdbbdbbdbbdbbdbbdbbdkbdlbdmbdnbccaTpaTpaTpaUVbdoaUUaUVaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaaaaabbdqazPaxTbdrbdsbdtbdtbdtbdtbdtbdtbdubdvaPkaWPaQGaYaaYbaYcaYcbdwbdxaYcaPnaPnbdyaPnaZIbdzbcmbdAaPnbbfaZNaZObdBbdCbbhbcobdDaZObbjbdEbcqbcqbcqbdFbdGaZUbdHaIJaYzbdIbdJbdKbdLbdMbdNbdObcAbdPbadbaebdQbdRbdSbdSbdSbdTbdUbaebdVbdWbbLbbLbcNbdXbcPbbLbdYbagaRyaIJaIJbcSbcTbcUaZiaZiaZiaZiaZiaZiaZibeaaZiaZiaZiaZiaZiaZibebbdbbdbbdbbdbbdbbdbbecbdbbdbbdbbdbbdbbdbbdbaTSbeebefbegaZiaZiaZiaZiaZiaZhaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZibehbcYbeiaTpaTpbccaTpaTpbejaWkaQxaQxaTsaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaWmaWnaWoayTbekbelbembembenbembembembeoaPkaPkaPkaPkaYaaYbaZBbepbeqberaYcbesbetbeuaPnaPnaPnaPnbevaPnbbfaZNaZObewbbhbcobexbeyaZObbjaZUbezbcqbcqbeAbeBaZUbeCaIJaYzbeDbeEbdKbdLbeFbeGbdObcAbeHbadbeIbeJbeKbdSbeLbdSbcDbeMbeNbdVbeObePbeQbeRbeRbeSbbLbeTbagaYSbeUaIJbcSbcTbcUaZibeVaZiaZiaZiaZicJdcJecIUcIUcIUcITaZiaZiaZiaZibfaaZibeVbflaZicIVbfccJbaZicJcbffbffbfhcJfbfjbfkaZiaZiaZiaZiaZibflbfmbfaaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZiaZibcYbfnbfobfpbfqbfrbfsbftcghaabaaaaabaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaySavkaySaxRbfvbembfwbfxbfybfybfzbfAbfBbfCbfCbfCbfCbfDbfEbfFbfFbfGbfHbfFbfIbfIbfJbfIbfKbfLbfLbfMbfLbfNbfObfPbfQbfRbfRbfSbfTbfPbfUbfVbfWbcqbcqbeAbfXbfYbeCaIJaYzbfZbgabgbbcybcybcybcybcAbgcbadbaebgdbgebgfbggbghbgebgibaebdVbgjbgkbglbgmbgnbgobgpbgqbagbgraGWaGWbgsbgsbgsbgsbgsbgsbgscnpcnpcIHcIIcItcItcIIcIHcnpcnpcnpcmzcmzcmzcmzcmzbgzbgzcfybgzbgzbgzbgzbgzbYCcfWbgGbgHaZiaZibgIbgIbgJbgJbgJbgJbgJbgKbgLbgLbgMbgLaZibgLbgMbgLbgLbgNbgObgObgObgOcggbgEaPfaPfaPfaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaZoaZpaWoayTbgTbembgUbembgVbgWbembembemaQGbgXbgYbgYbgZaYcaZBbhabchbhbaYcbhcbhdaVibhebhfbhgbhhbhibhjbhhbhkbhlbhmbhnbhmbhmbhobhpbhqbhrbhsbcqbcqbhtbhubhvbeCaIJbhwbfZbhxbhybhzbhAbhBbhCbhDbadbadbaebhEbhFbhGbhHbhIbhJbhKbaebdVbhLbhMbhNbhObhPbgobbLbhQbagaYSaIJbhRbgscdVcdXcdYcdZceAcHGcfwcfxcebccdciocioccdccaccZccOcnpcbncbZcbPcdEcmzcdHcdGcdbcdacdebYAbYAbYBbYCbPBbjSbiscmQbisbiubiubgJbivbiwbixbgJbiybizbiybgJbgKbgLbgNbgObiAbiBbiAbgObiCbiDbgOcbkcbgblJbgEaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaaaaaaazObaNaPhbiFbembiGbembiHbiIbiJbiKbembiLaQGbiMaQGbiNaYcaYcaYcaYcaYcaYcbiObiPbiQaQGbiRaZOaZOaZObiSaZOaZOaZObiTaZOaZOaZOaZObiUbiVbiWbiXbcqbcqbeAbiYbfYbeCaIJbiZbfZbjabhybadbadbadbadbjbbadbjcbjdbjebjfbbxbjgbbxbjhbjibjjbjkbhLbjlbbLbjmbjnbgobjobbLbjpbjqbjrbjsbgsbZlcinchEchPbZucisbZmciociociociociociociockCbZAcjYbZxbZzbZxcbecmzcaVbYAcaqcamcaabZUbYAbYBbYCbPBbjSbjTbjUbjVbjWbjXbjYbjZbkabjZbkbbkcbkdbkebgJbkfbkgbkhbgObkibkjbkkbklbkmbknbgObZjbZgblJbgEaaaaaaaaaaagaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMasGbcdaABaZpaTuaTuaTuaABaTubkoayTaxRaxRbembkpbkqbkrbiJbksbktbkubkvbkvbkvbkvbkwbkxbkxbkxbhhbhhbhhbkybkzbkzbkzbkAaZObkBbkCbkDbkEbkFbkGbkHbkIbkJbkKbkLbkMbkNbkObkPbkQbkRbkSbkTbkTbkUbjrbkVbkWbkXbkYbkZblablbblcbldbleblfbjjbjjbjjbjjblgbjjbjjbjjbjjblhblibljblkbllblmblnbloblpblqblraIJaIJbgscHFcIrcIscIQcpzbgsbZmciociociociociociociockCdMucpmcoXbZzcpycoIcmzcoKcoJcoWcambYBbZUbYAcISbYCbPBblNblOblPblPblQblRblSblTblTblTblUblVblWblXblYblZbmabmbbmcbmdbmebkmbmfbmgbmhbgObPDbZgblLbgEaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmjbmkavkaySawSawSawSaPhaxRaxRbembmlbmmbiJbmnbembembemaPkbmobmpbmqbmrbmqbmqbmqbmrbmqaPkaPkaZOaZOaZObmsaZObkHbkHbmtbkHbkHbkHbkHbkHbmubmvbmwbmxbmybmzbmzbmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbmIbmJbmKbmLbmMbmNbmObmPbmQbmRbmSbmTbmUbmVbmSbmWbmQbmXbhLbmYbmZbmYbagbagbagbnabdVbnbaIJbowboxcoedMhdMecnLcnrbgscipdLYdMcdMddMadMbdMncoFckCdMlcnpcoHbZzcoGcoEcmzcofcmwcaqcambYBbZUbYAbYBbYCbPBbjSbnqbnrbnsbntbnubnvbnwbnxbnybnybnzbjZbnAbgJbnBbnCbnDbgObnEbnFbnGbnHbnIbnJbgObPDbZgcnqbgEaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaabmjavkavkaySaxQaxQaxQbnLaxQaxQbembnMbnNbnObiJbemaaaaaaaaaaabaabbnPbnPbnPbnPbnPbnPbnPaaaaaabnQbnRbnSbnTbnUbkHbkHbkHbkHbkHbkHbkHbkHbnVbiXbcqbnWbnXbnYaZUaZUbnZbkNaZUaZUboabobbocbodboebofbofbogbofbohboibofabHbojbokbmSbolbmUbolbmSbombojbmXbonboobeRbopboqborbosbotboubovaIJaIJbgscmSdMBcgkcmUcmAbgscmRdLUdLOdLPdLQdLRdKWdKVdLadKXcnpcmxbZzcmyclWcmzbZUcmwcaqcambYBbZUbYAbYAckDbPBbjSboQbjUbjUbntboRboSboTboUboVboVboWboXboYbgJboZbnCbpabgObpbbpcbpdbnHbkmbpebgObZjbZgckBbgEaaaaaaaaaaaaaabbpgbphbpibphbpibphbpjaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaySaySbpkaTubplazMasGbpmbplbembpnbpobppbgWbemaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaabpqbprbkHbpsbptbptbptbptbptbpubptbptbptbpvbpwbpxbpybpzbpAaZUbpBbeAbpCbpDbpEbeCbpFbpGbodbodbofbpHbpIbpJbpKbpLbofbpMbpNbpObpPbpQbpRbpQbpSbpTbpUbpVbonbpWbeRbpXbagbpYbmYbpZbqabovaIJaIJbgscgSbjwcgkcgIcgjbhXcJncJocJlcJmcJgcJgdKHdKGdKFdKEcnpcjXbZzcjqcircmzbZUchTcaqcgTbYAbYAbYAcgibgzbPBbjSbnqbnrbnsbqsbqtbqubqvbqwbqwbqwboWbjZbqxbqybqzbkgbqAbgObqBbqCbqDbqEbkmbqFbgObPDblKbgEbgEaaaaaaaaaaaaaabbqGbqHbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbqMbqNbqObqPbkHbkHbkHbqQbqQbqQbqQbnTbkHbkHbkHbmubqRbcqbqSbqTbqUbqVbqWbeAbcqbqXbqYbeCbpFbqZbrabrbbrcbrdbrebrfbrgbrhbofabHbribrjbmSbpQbrkbpQbmSbrlbrmbmXbrnbrobrpbrqbagbrrbmYbrsbqabovaIJaIJbgsbOBbPhbPlbPtbPwbVbbVcbVdbVebVfbVgbVSbVfbVebVWbVVbVYbVXbPxbWibWQbWPbWTbWSbPzbWUbgzbgzbgzbgzbgzbPBbjSbrTbrUbrVbrWbrXbjYbrYbqwbqwbqwbrZbjZbsabgJbsbbsbbscbgObsdbsebsfbsgbkmbshbgObPDbPCbgEaaaaaaaaaaaaaaaaabbsjbskbqIbqJbqIbslbpiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbsmbsnbsmbsobspbkHbkHbkHbkHbkHbkHbnTbkHbsqaZOaZObsrbcqbcqbssbstbsubsvbeAbcqbcqbswaIJbpFbsxbsybszbsAbsBbsCbsDbsEbsFbofabHbrmbrmbsGbsHbsIbmSbsJbsKbsLbsMbsNbsObsObsObsObsObsObsPbsQbsRaGWaGWbgsbhXcJxbOobOpbOrbhXbSUbOqbRRbOubOsbOtbOebRRbOdbRPbOfbStbRXbRWbSMbSLbSGbDwbOnbSPbSObOgbOxbOybOybOzbUabtqbtqbtrbtsbttbjYbtubjZbjZbtvbtwbjZbtxbjYbtybtzbtAbtBbtCbtDbtEbtFbtGbgObgObOvbgEbgEbtIbtJbtJbtJbtKbkfbqGbqJbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaagaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbtLbtMbtLbtNbkHbkHbkHbqQbqQbqQbqQbnTbkHbtObtPaZObtQbcqbcqbssbtRbtSbsvbtTbtUbpxbtVbtWbtXbovaRrbszbtYbtZbuabubbucbudbuebufbugbuhbuibujbrkbujbsKbukbulbulbsNbumbunbuobupbuqburbusbutdKMaIJaIJbPKbhXbNfbNgbNibNlbNXbnobBUbNkbPAbPNbPAbPAbNkbgxbRecbXbQGbQIbgtbgtbRLbRObRMbRqbgxbgxbNYbNebNdbNdbNdbisbuQbuRbuSbuTbuTbjYbuUbuVbuWbjYbuXbjZbuYbuZbvabvbbvcbvdbvebvfbvgbvhbvibsbbkgbvjbvkbvlbvmbvnbvnbvnbvnbvobvpbphbpibvqbpibphbvraabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbvsbqNbvtbvubkHbkHbkHbkHbkHbkHbkHbnTbkHbtObvvaZObvwbdFbcqbvxbpxbvybpxbvzbcqbqXbpEbeCaIJbovaRrbszbofbvAbvBbvCbvDbvEbogbvFbvGbvHbvIbsLbvJbvKbvLbvMbvNbvObsNbvPbvQbvRbvSbvTbvTbvUbvVbvWaIJbPybgsbhXbMabjwbLZbjwbjwbnobBUbMVbNcbMbbPAbLYbPibgxbBUbgwbFYbFYbFYbFYbFYbFYbGgbPsbGgbGgbwmbwmbwmbwmbwmbqrbisbwtbwubwtbwtbjYbjYbjYbjYbjYbwvbwwbwxbwybwzbwAbwBbwCbwCbwDbwEbnCbwFbwGbwHbvjbnCbvlbwIbnCbwJbnCbwKbkfbtIbtJbtKbwLbkfaaaaaaaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbtLbtMbtLbwMbwNbkHbkHbwObwPbwQbwPbwRbwPbwSbwTbfPbwUbwVbkQbwWbkQbwXbkRbwVbwYbwZbqYbeCaIJbxabxbbxcbofbxdbxebxfbxgbxhbogbxibxjbxkbxlbxmbxnbxobxpbxqbxrbxsbxtbxubxvbxvbxwbxxbxybxzbsQbxAaIJaIJceabXjbXlbgxbOwbgxbgxbnobBUbVabWlbWVbXibXncdWbgxbBUbgwbXPcgdceMceMceLbFYceNcfpceObGgbXmbYybYzbYwbYxbCmcgnbxWbxXbwCbwCbxYbxZbwCbyabybbycbydbyebwCbyfbygbyhbyibyjbykbylbylbylbylbylbtHbymbgQbtIbtKbkfbnCbvnbynbyobVybypbyqbyraaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbysbytbysbyubyvbywbywbywbywbywbyxbyybkHbtObyzaZObyAbyBbyCbyDbyEbnXbyFbyGbyHaZUaZUbyIaIJbyJbyKbszbofbyLbyMbyNbvBbyObogbyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbsNbzabzbbzcbzdbxxbxybxzbsQccRccWccPccQbUDbUJccXccYbTXccccbYbTWbTZbPibPibTYbPibPibCjcbScbXcbWcbVcbUcbmcblbFYbTJcbRbTUcbGbTTbUWcdccddcddbUYcdTbzFbzGbvebvebzHbvebzIbvebvfbvebvebvebvebzJbzKbzLbzMbzNbzObzPbzQbzRbzSbylbiEbzTbmiaabaabbkfbzUbvnbyobyobvobzVbzWbzXaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbzYbzZbAaaZOaZObAbbqNbqNbqNbAcaZOaZObAdbAebAfaZObAgbAgbAgbAhbAgbAibAjbAkbAlbAmbAibeCaIJbAnbAoaTVbofbuebApbAqbAqbArbAsbAtbAtbAubAtbAvbAwbAxbAybAzbAzbAzbAAbsObsObsObsObsObsObsObsQdKTaXudKUbxFbxFbRSbEKbxFbZvbgxbfdbRQcdUbQHbQMbRrbTFbSXbgxcbfcascarcaucatcanbSSbSTcapbSNbSwcabbSQbZibuNbuNbQqbqrbAZbAZbAZbAZbAZbBabAZbAZbBbbBcbBdbBebBebBfbBgbvjbBhbzMbBibBjbBkbBlbBmbBnbylbiEbzTbpfaaaaaabkfbBobBpbkfbvobkfbkfbvobkfaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBqaabaaaaaaaaaaaabAgbBrbBsbBtbBubAibBvbBwbBxbBybAibeCaIJbBzbBAbBBbBAbBCbBDbBEbBFbBGbBHaXubBIaXubBJbBKbBLbBMbBNbBOaIJaMcbBPaMdbcSbBEbBQbBRaIJbBSbBTbzeaIJdKRbYQbQjbKzbAIbYPbYObgxbfdbPMbPLbPHbPHbPJbgwbPIbPHbYubYmbFYbYlbYjbXTbXSbXQbPGbXNbXobGgbPFbuNbuNbuNbPEbqrbAZbCtbCubCvbCwbCxbCybCzbBbbCAbCBbCCbBebBebCDbvjbBhbCEbCFbCGbCHbCIbCJbCKbylbiEbzTbgQbgQbgQbgQbgQbkfbkfaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAgbCLbCMbCNbCObCPbCQbCRbCSbCTbAibeCbCUbCVaIJaIJaIJaIJbcSbBEbBQbCWaIJaIJbCXaIJaIJbCYbCZbDaaIJaIJaIJaIJbBPaIJbcSbBEbBQbDeaXubDcbDbbDjbDdbovbxFbEFbKzbEIbEGbEKbgxbfdbfbbHgbHfbHibHhbFWbFXbgxbBUbgwbFYbFZbGabGabGbbGcbGdbGebGfbGgbEzbEybuNbFUbDQbqrbAZbDxbDybDzbDAbDBbDCbDDbBbbDEbDFbDGbDGbBebDHbDIbDJbDKbDLbDMbCJbDNbDObDPbylbiEbzTbgQaTTbDRbDRbgQaabaabaabaabaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbDSbDTbDTbDUbDVbDVbDWbDWbDWbDWbDXaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPaaaaaaaaaaaaaaaaaaaaaaaabDYbDZbEabDZbEbaaaaaaaaabAgbAgbEcbEdbCNbEdbEebEfbEgbEhbEibAibEjbeCbEkbElbtWbEmbtWbEnbEobEpbtXaIJbEqbErbjrbjrbEsaXuaXuaXuaXuaXuaXubEtbEubEvbEwbExbECbEBbEDbEAdKDaXubHobxFbENbKzbAIbHpbEKbgxbfdbfbbHubEQbEPbEObERbHxbgtbHvbHzbFYbFYbHybIubFYbGcbGgbIwbIxbGgbEMbHkbELbHnbEMbqrbAZbESbETbCvbEUbEVbEWbEXbBbbEYbDFbDGbDGbBebEZbFabFbbFcbFdbFebFfbFgbFhbFibFjbFkbFlbFlbFlbFlbFmbmiaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbFnbFobFpbFobDVbDWbDWbFqbFrbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFsbFtbFubFtbFsbFvbFwbFxbAgbFybEdbFzbFAbFBbFCbFDbFDbFEbFFbAibFGbFGbFHbFGaTVaTVaTVaTVbFIbFIbFIbFIbFIbFIbFIbFIbFJbbNbbNbFKbFKbFKbFKbFLbFMbFKbFKbFKbFKbFNbFObFPaIPaKpbCfbxFbCdbALbAMbxFbCkbCjbfdbATbAWbANbASbAQbzEbAWbgxbBZbzAbzBbzCbzDbAGbAHbAJbAKbwmbACbADbAEbAYbAXbAVbAUbqrbGlbGlbGlbGlbGlbGlbGlbGlbBbbGmbGnbGobGobBebGpbGqbGrbGsbGsbGsbGsbGtbGubGvbGwbGsbGsbGsbGsbzTbGxbGyaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbGzbFobFobGAbDWbDWbFqbFqbGBbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEabGCbGDbGCbEabGEbGFbGGbAgbGHbGIbEdbGJbGKbAibGLbGMbGNbGObAibGPbGPbGQbFGaaaaaaaaaaaabFIbGRbGSbGTbGUbGVbGWbFIbGXbGYbGZbFKbHabHbbDibHdbCpbCobCrbCqbDfbCsbDhbDgbDpbHmbDobrubBVbDmbDlbDkbCbbCabDvbfbbDtbBYbBXbBWbCgbEJbgtbEHbEEdTobCcbCebDnbDqbClbCnbwmbCibAUbChbDsbDrbAVbDubqrbHAbHBbHBbHCbHDbHEbHFbHGbBbbHHbHIbHJbHJbBebHKbHLbBhbHMbHNbHObHPbHQbHRbHSbHTbHUbHVbHWbGsbgQbHXbgQbHYbHYbHYbHYbHYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabHZbDWbGzbDWbDWbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFsbGCbGCbGCbIabIbbEdbEdbIcbIdbEdbEdbIebIfbAibAibAibIgbAibAibIhbIibIjbIkaaabIlbImbInbIobIpbGWbIqbIrbIsbItbLTbLSbLRbLQbLPbLObIAbIBbICbIDbIEbIFbFKbFKbIGbeYbGjbFNbIWbNmbxFbEFbAIbEIbEGbIXbnobNhbIYbNjbKmbKwbKvbIPbAWbIQbNabNbbIRbITbIIbIIbIIbILbIObwmbwmbwmbwmbwmbLWbLVbLUbqrbJabJbbHBbJcbHBbHBbHBbJdbBbbJebDFbJfbJfbBebBgbJgbJhbJibJjbJjbJjbJjbJkbJlbJmbJnbJobJpbGsbJqbJrbJsbJtbJubJvbJwbJxaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDVbDWbJybJzbJzbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEabGDbGDbGDbEabJAbJBbJCbJDbJEbEdbJFbJGbJHbJIbJJbJJbJKbJJbJJbJLbJMbJNbJOaaabJPbJQbJRbJSbJTbGWbJUbJVbJWbJXbFIbJYbJZbKabFKbKbbKcbKdbKebKfbKgbKhbKibKjbKkbKlbIZbWnbIWbOibxFbKFbAIbAIbOmbIXbnobfdbfbbOhbBYbKEbKDbLLbOhbgxbOwbOAbLXbLMbLNbKIbLCbKGbKHbjAbLIbLGbLHbjAbKxbKCbKybGlbHAbKJbHBbHBbHBbHBbHBbKKbBbbKLbDFbKMbKMbBebKNbKObBhbKPbJlbJlbKQbKRbKSbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdbLebJwbLfaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbDWbLgbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabFsbLhbLibLjbFsbLkbFwbFxbAgbAgbLlbLlbLlbAgbAgbFGbFGbFGbFGbLmbFGbFGbLnbJOaaabJPbLobLpbLqbLrbLsbLtbLubLrbLrbLvbLwbLxbLybFKbFKbFKbFKbFKbFKbLzbFKbFKbLAbLBbIybGjbFNbIWasNbxFbxFbIVbIVbxFbxFbISbIUbGibIMbFTbGhbFVbFSbIMbIKbINbIKbARbARbIJbARbIJbARbARbjAbFQbgAbFRbjAbHebHcbGkbGlbGlbMcbHBbHBbHBbMdbGlbGlbBbbMebMfbKMbKMbBebMgbKObBhbHMbMhbMibMjbMkbMlbMmbMnbJlbMobMpbGsbMqbMrbMsbHYbMtbMubMvbMwaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDWbFqbFqbFqbFqbFqbFqbMxbFqbMybFqbFqbFqbFqbFqbDWbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMzbDZbMAbDZbMBaaaaabaaaaaabAgbMCbMDbMEbAgaaaaaaaaabFGbMFbMGbIhbFGbLnbJOaaabJPbMHbMIbMJbMKbGWbMLbMMbMNbMObFIbMPbMQbMRbMSbMTbMTbMTbMTbMUbKnbMWbKobMXbMYbMZbKpbKBbKAbFNbxFbHqbdZbHlbHjbKubnobfdbfbbKtbKsbKrbKqbFWbLKbgtbLJccXbIzbHwbIvbHsbHtboCbHrbjAbuKbgAbuLbjAbIHbHcbuLbGlbNnbNobNpbNqbNrbNsbNtbNnbBebNubNvbCCbBebBebNwbKObNxbHYbHYbGsbGsbGsbGsbGwbGsbNybJlbNzbGsbNAbHXbgQbHYbNBbNCbNDbHYaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbNEbNEbNEbNEbNEbNEbNFbFqbNGbNEbMybFqbFqbFqbFqbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaaaaabFGbNHbNIbNJbFGbLnbNKaaabNLbImbNMbNNbNObGWbGWbNPbNQbNRbNSbNTbNUbNVboHboHboHboHboHboGcdCboFbOabObbOcboEboDblBblAbjLbxFbjPbeXblubAIblIblHbndblvblCblwblDbNbblEblCbNbbnnbgxblFblGbgAbncbgAbgAbnebjAbnfbngbnfbjAbjJbjKbjJbGlblzblyblxbOCbODbOEbOFbOGbBebBebOHbBebBebOIbOJbKObnCbOKaabbOLbOMbONbOObOPbOObOQbORbOSbGsbOTbGxbOUbHYbOVbOWbOWbOXaacaacaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOYbFobFobFobFobFobFobFobOZbFrbFqbFqbFqbFqbPabFrbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabbFGbFGbFGbFGbFGbPbbFGaaaaaaaaaaaabFIbPcbPdbPebPfbFIbPgbFIbrJbSnbrKbPkbPkbrIbPmbPnbPobPpbrHbeWbeWbeWbrGbrFbeWbTcboIbruboKboJblubAIblIbrBbrzbrybrEbqgbrDboLbqfbqgbqdbqebgxblFbnpbnKbozboAbgAboyboCboCboBboBbnjbnhbnmbnlboNboMboPboObqcbqbbPObPObPPbPQbPRbPSbnCbPTbnCbOJbKObnCbPUaabbOLbPVbPVbPWbPXbPYbPZbQabQbbGsbQcbGxbzTbHYbHYbHYbHYbHYaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbJzbJzbJzbJzbJzbJzbQdbFqbJybJzbQebFqbFqbFqbFqbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabQfbQgbLnbFGbFGbFGbFGbFGbFIbFIbFIbFIbFIbFIbFIbFIbQhbQibigbQkbQlbQmbQnbQnbQobQpbidbibbhVbhUbhTbiebeWbTcbeYbeZbdZaWTbeXbedbfgbfebgtbfibfbbgxbfdbgxbgwbgxbfbbgubfubgubgubgvbgCbgDbgFbgPbgybgAbgAbgBbhSbgSbgAbgRbGlbQJbQJbQKbQLbiabQNbQLbQObQPbQQbQRbQSbnCbQTbOJbKObQUbQVaabbOLbPVbQWbOObQXbOObQYbQZbRabGsbQcbGxbRbbRcbgQaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDWbFqbFqbFqbFqbFqbFqbMxbFqbQebFqbFqbFqbFqbFqbDWbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbRdaTPbRfbRgbRgbRhbRibRjbRkbRlbRmbRnbRobRnbRpbRkbltblsbPjbRtbRubRvbRwbRwbRxbRybidbjIbjQbjQbjQbjRbeWbTcbeYbxFbiqbipbinbimbjHbjGbjGbjFbjEbjDbjybjxbijbiobihbiibhZbifbhWbhYbjubjvbitbjtbirbilbikbilbjAbjzbjCbjBbGlbRTbRUbRVbjNbjMbRYbRZbGlbGlbqzbSabqzbqzbqzbSbbScbSdbqzbGsbGsbGsbGsbGsbSebGsbGsbGsbGsbGsbQcbGxbSfbRcbgQaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbDWbLgbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgaaaaabaabbShbShbShbShbShbShbShbShbSibSjbRkbSkbRlbRlbRnbSlbRpbRkbSmbzlbzkbSobSpbQnbSqbQnbSrbSsbidbxIbxHbjQbjQbxCbeWbTcbeYbwabwabwadSbbwfbwabwabxGbxEbqibqibuHbqibuObuPbxVbvXbvYbvZbwcbwebxMbuIbtcbuJbsVbuKbgAbuLbgCbxBbTcbwsbGlbGlbGlbGlbwrbGlbSYbGlbGlbSZbTabTbbTcbTdbqzbSabTebTfbqzaTRbThbTibTjbTkbQcbzTbzTbTlbzTbzTbQcbGxbTmbgQbgQbgQaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDVbDWbNGbNEbNEbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTnbTobTpbTqbTqbTqbTrbTsbTtbTubTvbTwbTxbShbTybSjbRkbTzbRlbRmbRlbRnbTAbRkbTBbSnbAObRtbTCbQnbQnbQnbTDbTEbAPbzzbjQbzybjQbjRbeWbTcbeYbwabzxbzhbzwbzvbzhbwabgxbzgbzubzobzjbzibxRbqibfbbxQbxUbzfbxSbxTbsVbxLbztbxKbxMbxPbxNbxObxJbznbzqbzpbzrbzrbzrbzsbzmbOlbOjbOlbOlbOlbOlbOkbUbbOlbRNbUcbUdbUebUfbUgbUgbUgbUgbUhbUibUgbUgbUgbUgbUgbUjbUkbUlbUmbUnbgQbgQbgQbgQaaaaabaaaaaaaaaamRamRamRaabaaaaaaaabaaaaaaaabaaaaaabHZbDWbGzbDWbDWbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUobUobUobUobUobUpbUqbUrbUsbUsbUtbShbUubUvbUwbUxbUybUzbRlbRlbUAbRkbUBbUCbtobUEbUEbUFbUGbQnbUHbUIbtpbsTbsYbjQbjQbsUbeWbTcbeYbwabqpbqobqobqqbqnbqmbgxbrRbqibqhbqlbqkbrSbqibsibsSbrLbrObrPbrQbsVbrxbtcbrCbsVbrtbrvbrwbgCbtmbtlbKjbKjbKjbKjbtkbKjbVhbVibVjbVkbSRbSRbSVbSWbSRbSRbVlbVmbVnbVobVobVpbVqbVqbVrbVobVobVpbVqbVqbVrbVobVsbzTbVtbVubVvbVwbVxbrAbVzbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVBbVCbVCbVDbDWbDWbFqbFqbVEbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaabaabbVFbVGbVHbVIbVHbVJbVKbVLbVMbVMbVNbShbVObIhbRkbVPbRlbVQbRlbRlbRlbVRbTBbSnbwkbwjbPkbVTcdCbwlbwobwnbwqbwpbjQbuFbjQbuGbeWbTcbwgbwabuEbwdbwdbwdbuDbwabgxbxEbqibuBbtnbtjbthbtibfbbtgbtebtfbtbbtdbsVbtabuCbsZbsVbgCbgCbgCbgCbwhbTcbwibFNbFNbFNbFNbFNbWobWpbWqbFNbFNaaaaaaaaaaaabWrbWsbWtbWubWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabgQbWvbWwbWxbgQbgQbgQbgQaaaaabaaaaaaaaaamRamRamRaabaaaaaaaabaaaaaaaabaabaabbWybWzbWAbGAbDVbDWbDWbFqbFrbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbVFbWBbWCbWDbWEbUrbWFbUrbWGbUrbWHbWIbWJbWKbRkbWLbRlbVQbRlbRlbWMbRkbWNbWObwkdQPbPkbQnccNdQOdQMdQNbidbjObjQbjQbxHdQLbeWbTcbeYbwadNRdNSdQydQydQXdQYbgxbxEbqidOydOwbqkdMYbtibfbbtgbtgbtgbtgbtgbsVdNNdNCdNqbsVbTcbTcbTcbTcbTcbTcbTcbFNaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabXqbXrbXsbXtbXqaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubXubXvbXwbXuaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbXxbDTbDTbDUbDVbDVbDWbDWbDWbDWbDXaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbVFbXybXzbXAbXzbXBbXCbXDbXEbXFbXGbShbLnbIhbRkbXHbRlbXIbXJdQmdQlbRkdQvdQwdQtdQubXOdQrdQsdQrdQrdQrdMvdQqbjOdMtdQndQobeWbTcbeYbwadMwdQydQzdQydMxbwadMydMzbrMbrMdMAbrMdMCbuMdMDbgtbgtbgtbgtdMEbsVbsVbsVbsVbsVbTcbFNbFNbFNbWobWpbWqbFNaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabYnbYobYpbYqbYnaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubYrbYsbYtbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabbUobUobUobUobUobShbShbShbShbShbShbShbLnbIhbRkbRkbRkbRkbRkbRkbRkbRkbXMbSnbRsdRGbYvdRHdRIdRJdRydRzdRAdRBdRCdRDdONdOObeWbTcbeYbwadORdRMdRKdRmdRTdRUdPodPBdPkdPldOSdOTdOQbrMdPndPndPndPndPndOPdPnbLDbTcbTcbTcbTcbFNaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabYRbYSbYTbYUbYRaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubYVbYWbYXbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbIhbFGbFGbFGbFGbYYbIhbIhbYZbZabZabZabZabZbbZcbZcbZdbZebZebZebZebZebZebZebRjbFGbZfbSnbRsdRhbZhdRjdRibPkdRcbUEdRadRbdRfdRgdRddRebeWbTcbeYbwadOBdRldRmdRndOCdRsdOIdOJbrNbrNbAFbrNdOMbrMbTcbTcbTcdRvbgxbfbbgxdRvbTcbTcbTcbTcbFNaaaaaaaaaaaaaaaaabbZBaabaabaabbZBbZBaabaabaabaabaabaabaabbZCbWrbZDbZEbZCaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaabXubZFbZGbZHbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbZIbZJbZKbZLbZMbZNbIhbIhbSibZObIhbFGbFGbZPbZQbFGbFGbZRbZSbZQbFGbFGbZTbIhbSjbFGbXMbSnbRsdSnbZVbQnbZWbPkbZXbZYbZZdSrdMSdSodSpdSqbNWbKjdSCdSDdQHdQIdSEdQGdQFdSbdQDdQEbrNbrNbAFbrNdQAbuMbTcdSubSRdSxdQCdQBdQxdStdSsbWpbWpbWqbFNaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabWrcavcawcaxbWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaacaycazcaAcaBcaCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaabIhbFGbFGbFGbFGcaDcaEcaEcaFcaGcaHcaGaaacaIaaaaaaaaaaaaaaaaaaaaabFGcaJbIhbSjbFGcaKcaLcaMcaNcaOcaPcaQcaRcaScaTcaUdRZdRXdRYdRVdRWdSgbOcdShdRsbwadSidSjdSkdSadSbdPCdPOdPYdPYdQedPYdQpbuMbTcbFPaaadPmdPndSmdPndPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabWrbWrbWrbWrbWrbWrbWrbWrbWrcbocbpcbqbWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaabcbrcbscbraabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaabbFGcbtcaGcaGcbucaGcbvcaGcaGcbwcbxcaGcaGcbycbzcbxcaGcaGcaGcaGcbAcbBcbCcbDbRscbEcbFbQnbQobQnbQnbQnbQndSYdSZbRFbRFbQvbLDdRtdRqdRrdRodRpdTidRkdQZdThbuMdQWbuMbuMdTebuMdTdbuMbTcbFPaaadPmdQVdQUdQTdPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabWrcceccfccgcchcciccjcckcclccmccnccoccpccqaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaabccrccsccraabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvalvalualualvalualualualUalualualualvalvaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabbIkcbtcctccuccvccwccxccycczccAccBccCcaGccBccDccEccFccFccGcaGccHccIccJccKbRsdPcccLccMbQobQnbSqbQnccNdSIdSKbWRbSvdSJbLDbLDbLEdQSdSadQKdQQdQRdQJbLFdSOdSPdSLbKjdSMdSNdSWbNWbKjdSXaaadSVcKidOvdytdSUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabbWrcdgcdhcdgcdicdjbYocdkcclcdlcdmcdlbWrbWraaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabaaacdnaaaaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaalvaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaabJOcbtcdocdpcdqcdrcdscdscdscdscdtcducdvccFcdwccFccFcdxccFcdycdzcdAcdBccKbRsdPccdCcdDbQodLVcdFcezbQodPbdOZbRIbXRdPadOKdOLdKOdKPbNWdKSdKQbNWbNWdLTbIZdLSdOVbOcdOUbTcbTcdOWbTcbFNaaadOXcKidOvdytdOYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabWrcdgcdgcdgceccedccjceecefcegcehceicejbWraaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaabaaacekaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaacelcemcenaaacelcemcenaaacelcemcenaabceoaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaabJOcbtcdocepccFcdxceqccFccFccFccFccFcepcepccFccFccFccFcercescdzcetcdzceucevcdCcdCcewbQocexceycezbQodOHdOFdOGdODdOEdOzdOAbNZdzwdBkdBkdKIdKJdKJdKKdKLdKNdOUbTcbTcbTcbTcbTcbFNbFNaaadOucKidOvdytdOxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabWrcclcclcclcclcePbYoceQceRceSceTceUceVbWraaaaaaaaaaaaaaaceWceWceWceXaabaabaabaabcekaabaabaabaabaabalUceWceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaacelceYcenaaacelceYcenaaacelceYcenaabaabaabaabaaaaaaaaaaaaaaaaaaaabaabaabbJOcbtceZcepcfaccFcfbcfccfdcfdcdwccFcepcfeccFccFccFccFcffcfgcfhcfibJZcfjcfkcflcfmcfnbQocexcdFcfobQodPpdMSbPrdPqbZkdPidPjdPhbPrbPubPqbPvbLDbLDbLDbLEbLDbLDdLXdLWdLWdLWdLWdMgamRaaadPmdMfdLZdMidPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabWrcceccfccgcfzcfAccjcfBcfCcfDcfEbYocfFbWraaaaaaaaaaaaaaaceWaaaaabaaaaabaaaaaaaaacfGaaaaabaabaaaaaaaaaaaaceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaySavkaySaxRbfvbembfwbfxbfybfybfzbfAbfBbfCbfCbfCbfCbfDbfEbfFbfFbfGbfHbfFbfIbfIbfJbfIbfKbfLbfLbfMbfLbfNbfObfPbfQbfRbfRbfSbfTbfPbfUbfVbfWbcqbcqbeAbfXbfYbeCaIJaYzbfZbgabgbbcybcybcybcybcAbgcbadbaebgdbgebgfbggbghbgebgibaebdVbgjbgkbglbgmbgnbgobgpbgqbagbgraGWaGWbgsbgsbgsbgsbgsbgsbgscnpcnpcIHcIIcoEcoFcIIcIHcnpcnpcnpcmzcmzcmzcmzcmzbgzbgzcoGbgzbgzbgzbgzbgzbYCcfWbgGbgHaZiaZibgIbgIbgJbgJbgJbgJbgJbgKbgLbgLbgMbgLaZibgLbgMbgLbgLbgNbgObgObgObgOcggbgEaPfaPfaPfaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaZoaZpaWoayTbgTbembgUbembgVbgWbembembemaQGbgXbgYbgYbgZaYcaZBbhabchbhbaYcbhcbhdaVibhebhfbhgbhhbhibhjbhhbhkbhlbhmbhnbhmbhmbhobhpbhqbhrbhsbcqbcqbhtbhubhvbeCaIJbhwbfZbhxbhybhzbhAbhBbhCbhDbadbadbaebhEbhFbhGbhHbhIbhJbhKbaebdVbhLbhMbhNbhObhPbgobbLbhQbagaYSaIJbhRbgscdVcdXcdYcdZceAcHGcmRcnrclWcfxcmxcmycfxcfwcircfycnpceaceOcebcjXcmzcdHcdGcjqcdacdebYAbYAcbPbYCbPBbjSbiscmQbisbiubiubgJbivcdEbixbgJbiybizbiybgJbgKbgLbgNbgObiAbiBbiAbgObiCbiDbgOcbkcbgblJbgEaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdpbdpbdpbdpbdpbdpbdpbdpbdpbdpaaaaaaazObaNaPhbiFbembiGbembiHbiIbiJbiKbembiLaQGbiMaQGbiNaYcaYcaYcaYcaYcaYcbiObiPbiQaQGbiRaZOaZOaZObiSaZOaZOaZObiTaZOaZOaZOaZObiUbiVbiWbiXbcqbcqbeAbiYbfYbeCaIJbiZbfZbjabhybadbadbadbadbjbbadbjcbjdbjebjfbbxbjgbbxbjhbjibjjbjkbhLbjlbbLbjmbjnbgobjobbLbjpbjqbjrbjsbgsbZlcinchEchPcbScisbZmciociociociociociociockCccdcjYccacbZcbYccZcmzcaVbYAcaqcamccQccObYAcbPbYCbPBbjSbjTbjUbjVbjWbjXbjYbjZbkabjZbkbbkcbkdbkebgJbkfbkgbkhbgObkibkjbkkbklbkmbknbgObZjbZgcdbbgEaaaaaaaaaaagaJCaJCaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazMasGbcdaABaZpaTuaTuaTuaABaTubkoayTaxRaxRbembkpbkqbkrbiJbksbktbkubkvbkvbkvbkvbkwbkxbkxbkxbhhbhhbhhbkybkzbkzbkzbkAaZObkBbkCbkDbkEbkFbkGbkHbkIbkJbkKbkLbkMbkNbkObkPbkQbkRbkSbkTbkTbkUbjrbkVbkWbkXbkYbkZblablbblcbldbleblfbjjbjjbjjbjjblgbjjbjjbjjbjjblhblibljblkbllblmblnbloblpblqblraIJaIJbgscHFcIrcIscIQcpzbgsdMnciodNqdLadLadLadLadLZckCdMucpmdMgcbZdMidMfcmzcoKcoJcoWcamcbPccObYAdNCbYCbPBblNblOblPblPblQblRblSblTblTblTblUblVblWblXblYblZbmabmbbmcbmdbmebkmbmfbmgbmhbgObPDbZgblLbgEaaaaaaaaaaaaaaaaJCaJCaJCaJCaJCaJCaJCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmjbmkavkaySawSawSawSaPhaxRaxRbembmlbmmbiJbmnbembembemaPkbmobmpbmqbmrbmqbmqbmqbmrbmqaPkaPkaZOaZOaZObmsaZObkHbkHbmtbkHbkHbkHbkHbkHbmubmvbmwbmxbmybmzbmzbmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbmIbmJbmKbmLbmMbmNbmObmPbmQbmRbmSbmTbmUbmVbmSbmWbmQbmXbhLbmYbmZbmYbagbagbagbnabdVbnbaIJbowboxcoedMhdMecnLdLQbgsdLOdLPdLWdLXdLRdLUdMbdMadLZdMlcnpdMdcbZdMcdLYcmzcofcmwcaqcamcbPccObYAcbPbYCbPBbjSbnqbnrbnsbntbnubnvbnwbnxbnybnybnzbjZbnAbgJbnBbnCbnDbgObnEbnFbnGbnHbnIbnJbgObPDbZgcnqbgEaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaabmjavkavkaySaxQaxQaxQbnLaxQaxQbembnMbnNbnObiJbemaaaaaaaaaaabaabbnPbnPbnPbnPbnPbnPbnPaaaaaabnQbnRbnSbnTbnUbkHbkHbkHbkHbkHbkHbkHbkHbnVbiXbcqbnWbnXbnYaZUaZUbnZbkNaZUaZUboabobbocbodboebofbofbogbofbohboibofabHbojbokbmSbolbmUbolbmSbombojbmXbonboobeRbopboqborbosbotboubovaIJaIJbgscmSdMBcgkcmUcmAbgsdKXcoXdKIdKNdKVdKWdKGdKFcipdKHcnpdytcbZdKEcKicmzccOcmwcaqcamcbPccObYAbYAckDbPBbjSboQbjUbjUbntboRboSboTboUboVboVboWboXcJobgJboZbnCbpabgObpbbpcbpdbnHbkmbpebgObZjbZgckBbgEaaaaaaaaaaaaaabbpgbphbpibphbpibphbpjaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxPaySaySbpkaTubplazMasGbpmbplbembpnbpobppbgWbemaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaabpqbprbkHbpsbptbptbptbptbptbpubptbptbptbpvbpwbpxbpybpzbpAaZUbpBbeAbpCbpDbpEbeCbpFbpGbodbodbofbpHbpIbpJbpKbpLbofbpMbpNbpObpPbpQbpRbpQbpSbpTbpUbpVbonbpWbeRbpXbagbpYbmYbpZbqabovaIJaIJbgscgSbjwcgkcgIcgjbhXcipcoXcoHcoIciociocJncJmcJlcJgcnpcIScbZcItcpycmzccOchTcaqcgTbYAbYAbYAcgibgzbPBbjSbnqbnrbnsbqsbqtbqubqvbqwbqwbqwboWbjZbqxbqybqzbkgbqAbgObqBbqCbqDbqEbkmbqFbgObPDblKbgEbgEaaaaaaaaaaaaaabbqGbqHbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbqMbqNbqObqPbkHbkHbkHbqQbqQbqQbqQbnTbkHbkHbkHbmubqRbcqbqSbqTbqUbqVbqWbeAbcqbqXbqYbeCbpFbqZbrabrbbrcbrdbrebrfbrgbrhbofabHbribrjbmSbpQbrkbpQbmSbrlbrmbmXbrnbrobrpbrqbagbrrbmYbrsbqabovaIJaIJbgsbOBbPhbPlbPtbUfbVbbUZbVcbVebVfbVgbVdbVfbVebVVbVSbVYbVXbPxbWibWQbWPbWTbWSbPzbWUbgzbgzbgzbgzbgzbPBbjSbrTbrUbrVbrWbrXbjYbrYbqwbqwbqwbrZbjZbsabgJbsbbsbbscbgObsdbsebsfbsgbkmbshbgObPDbPCbgEaaaaaaaaaaaaaaaaabbsjbskbqIbqJbqIbslbpiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbsmbsnbsmbsobspbkHbkHbkHbkHbkHbkHbnTbkHbsqaZOaZObsrbcqbcqbssbstbsubsvbeAbcqbcqbswaIJbpFbsxbsybszbsAbsBbsCbsDbsEbsFbofabHbrmbrmbsGbsHbsIbmSbsJbsKbsLbsMbsNbsObsObsObsObsObsObsPbsQbsRaGWaGWbgsbhXcJxbOobOpbOrbhXbSUbTWbRRbOubOsbOtbRSbRRbRPbRNbOfbStbRXbRWbSMbSLbSGbDwbOnbSPbSObOgbOxbOybOybOzbUabtqbtqbtrbtsbttbjYbtubjZbjZbtvbtwbjZbtxbjYbtybtzbtAbtBbtCbtDbtEbtFbtGbgObgObOvbgEbgEbtIbtJbtJbtJbtKbkfbqGbqJbqIbqJbqJbqKbqGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaagaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbtLbtMbtLbtNbkHbkHbkHbqQbqQbqQbqQbnTbkHbtObtPaZObtQbcqbcqbssbtRbtSbsvbtTbtUbpxbtVbtWbtXbovaRrbszbtYbtZbuabubbucbudbuebufbugbuhbuibujbrkbujbsKbukbulbulbsNbumbunbuobupbuqburbusbutdKMaIJaIJbPKbhXbNfbNgbNibPwbNXbOqbOdbNkbPAbPNbPAbPAbNkbOebRecbXbQGbQIbgtbgtbRLbRObRMbRqbgxbgxbNYbNebNdbNdbNdbisbuQbuRbuSbuTbuTbjYbuUbuVbuWbjYbuXbjZbuYbuZbvabvbbvcbvdbvebvfbvgbvhbvibsbbkgbvjbvkbvlbvmbvnbvnbvnbvnbvobvpbphbpibvqbpibphbvraabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbvsbqNbvtbvubkHbkHbkHbkHbkHbkHbkHbnTbkHbtObvvaZObvwbdFbcqbvxbpxbvybpxbvzbcqbqXbpEbeCaIJbovaRrbszbofbvAbvBbvCbvDbvEbogbvFbvGbvHbvIbsLbvJbvKbvLbvMbvNbvObsNbvPbvQbvRbvSbvTbvTbvUbvVbvWaIJbPybgsbhXbOhbjwbLZbjwbjwbOqbOdbMVbNcbMbbPAbLYbPibOebOdbgwbFYbFYbFYbFYbFYbFYbGgbPsbGgbGgbwmbwmbwmbwmbwmbqrbisbwtbwubwtbwtbjYbjYbjYbjYbjYbwvbwwbwxbwybwzbwAbwBbwCbwCbwDbwEbnCbwFbwGbwHbvjbnCbvlbwIbnCbwJbnCbwKbkfbtIbtJbtKbwLbkfaaaaaaaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbtLbtMbtLbwMbwNbkHbkHbwObwPbwQbwPbwRbwPbwSbwTbfPbwUbwVbkQbwWbkQbwXbkRbwVbwYbwZbqYbeCaIJbxabxbbxcbofbxdbxebxfbxgbxhbogbxibxjbxkbxlbxmbxnbxobxpbxqbxrbxsbxtbxubxvbxvbxwbxxbxybxzbsQbxAaIJaIJbZUbXjbXlbgxbOwbgxbgxbOqbOdbVabWlbWVbXibXncdWbOebOdbgwbXPcgdceMceMceLbFYceNcfpcaabGgbXmbYycbebYwbYxbCmcgnbxWbxXbwCbwCbxYbxZbwCbyabybbycbydbyebwCbyfbygbyhbyibyjbykbylbylbylbylbylcbncblbgQbtIbtKbkfbnCbvnbynbyobVybypbyqbyraaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbysbytbysbyubyvbywbywbywbywbywbyxbyybkHbtObyzaZObyAbyBbyCbyDbyEbnXbyFbyGbyHaZUaZUbyIaIJbyJbyKbszbofbyLbyMbyNbvBbyObogbyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbsNbzabzbbzcbzdbxxbxybxzbsQccRccWccPbZAbUDbUJccXccYbTXcccbZxbZzbTZbPibPibTYbPibPibZubYBcbXcbWcbVcbUcbmbYzbFYbTJcbRbTUcbGbTTbUWcdccddcddbUYcdTbzFbzGbvebvebzHbvebzIbvebvfbvebvebvebvebzJbzKbzLbzMbzNbzObzPbzQbzRbzSbylbiEbzTbmiaabaabbkfbzUbvnbyobyobvobzVbzWbzXaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPbzYbzZbAaaZOaZObAbbqNbqNbqNbAcaZOaZObAdbAebAfaZObAgbAgbAgbAhbAgbAibAjbAkbAlbAmbAibeCaIJbAnbAoaTVbofbuebApbAqbAqbArbAsbAtbAtbAubAtbAvbAwbAxbAybAzbAzbAzbAAbsObsObsObsObsObsObsObsQdKTaXudKUbxFbxFbXSbEKbxFbZvbgxbfdbRQcdUbQHbQMbRrbTFbSXbgxcbfcascarcaucatcanbSSbSTcapbSNbSwcabbSQbZibXNbuNbQqbqrbAZbAZbAZbAZbAZbBabAZbAZbBbbBcbBdbBebBebBfbBgbvjbBhbzMbBibBjbBkbBlbBmbBnbylbiEbzTbpfaaaaaabkfbBobBpbkfbvobkfbkfbvobkfaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBqaabaaaaaaaaaaaabAgbBrbBsbBtbBubAibBvbBwbBxbBybAibeCaIJbBzbBAbBBbBAbBCbBDbBEbBFbBGbBHaXubBIaXubBJbBKbBLbBMbBNbBOaIJaMcbBPaMdbcSbBEbBQbBRaIJbBSbBTbzeaIJdKRbYQbQjbKzbAIbYPbYObgxbfdbPMbPLbPHbPHbPJbgwbPIbPHbYubYmbFYbYlbYjbXTbXobXQbPGbXkbVWbGgbPFbuNbuNbuNbPEbqrbAZbCtbCubCvbCwbCxbCybCzbBbbCAbCBbCCbBebBebCDbvjbBhbCEbCFbCGbCHbCIbCJbCKbylbiEbzTbgQbgQbgQbgQbgQbkfbkfaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPbnPbnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAgbCLbCMbCNbCObCPbCQbCRbCSbCTbAibeCbCUbCVaIJaIJaIJaIJbcSbBEbBQbCWaIJaIJbCXaIJaIJbCYbCZbDaaIJaIJaIJaIJbBPaIJbcSbBEbBQbDeaXubDcbDbbDjbDdbovbxFbEFbKzbEIbEGbEKbgxbfdbfbbFSbHfbFVbFTbFWbEQbERbHvbgwbFYbFZbGabGabGbbGcbGdbGebGfbGgbFQbEybuNbFUbEPbqrbAZbDxbDybDzbDAbDBbDCbDDbBbbDEbDFbDGbDGbBebDHbDIbDJbDKbDLbDMbCJbDNbDObDPbylbiEbzTbgQaTTbDRbDRbgQaabaabaabaabaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbDSbDTbDTbDUbDVbDVbDWbDWbDWbDWbDXaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnPbnPbnPbnPbnPaaaaaaaaaaaaaaaaaaaaaaaabDYbDZbEabDZbEbaaaaaaaaabAgbAgbEcbEdbCNbEdbEebEfbEgbEhbEibAibEjbeCbEkbElbtWbEmbtWbEnbEobEpbtXaIJbEqbErbjrbjrbEsaXuaXuaXuaXuaXuaXubEtbEubEvbEwbExbECbEBbEDbEAdKDaXubHobxFbENbKzbAIbHpbEKbgxbfdbfbbHgbHebGhbFXbHhbHgbgxbBUbHzbFYbFYbHybIubFYbGcbGgbIwbIxbGgbEMbHkbELbHnbEMbqrbAZbESbETbCvbEUbEVbEWbEXbBbbEYbDFbDGbDGbBebEZbFabFbbFcbFdbFebFfbFgbFhbFibFjbFkbFlbFlbFlbFlbFmbmiaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbFnbFobFpbFobDVbDWbDWbFqbFrbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFsbFtbFubFtbFsbFvbFwbFxbAgbFybEdbFzbFAbFBbFCbFDbFDbFEbFFbAibFGbFGbFHbFGaTVaTVaTVaTVbFIbFIbFIbFIbFIbFIbFIbFIbFJbbNbbNbFKbFKbFKbFKbFLbFMbFKbFKbFKbFKbFNbFObFPaIPaKpbCfbxFbCdbALbAMbxFbCkbCjbfdbfbbBWbBYbCgbBXbATbAWbgxbBZbzAbzBbzCbzDbAGbAHbAJbAKbwmbACbADbAEbAYbAXbAVbAUbqrbGlbGlbGlbGlbGlbGlbGlbGlbBbbGmbGnbGobGobBebGpbGqbGrbGsbGsbGsbGsbGtbGubGvbGwbGsbGsbGsbGsbzTbGxbGyaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbGzbFobFobGAbDWbDWbFqbFqbGBbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEabGCbGDbGCbEabGEbGFbGGbAgbGHbGIbEdbGJbGKbAibGLbGMbGNbGObAibGPbGPbGQbFGaaaaaaaaaaaabFIbGRbGSbGTbGUbGVbGWbFIbGXbGYbGZbFKbHabHbbDibHdbCpbCobCrbCqbDfbCsbDhbDgbDpbHmbDobrubBVbDmbDlbDkbCbbCabDvbEzbAWbBYbDQbDtbEJbAWbgxbEHbEEdTobCcbCebDnbDqbClbCnbwmbCibAUbChbDsbDrbAVbDubqrbHAbHBbHBbHCbHDbHEbHFbHGbBbbHHbHIbHJbHJbBebHKbHLbBhbHMbHNbHObHPbHQbHRbHSbHTbHUbHVbHWbGsbgQbEObgQbHYbHYbHYbHYbHYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabHZbDWbGzbDWbDWbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFsbGCbGCbGCbIabIbbEdbEdbIcbIdbEdbEdbIebIfbAibAibAibIgbAibAibIhbIibIjbIkaaabIlbImbInbIobIpbGWbIqbIrbIsbItbLTbLSbLRbLQbLPbLObIAbIBbICbIDbIEbIFbFKbFKbIGbeYbGjbFNbIWbNmbxFbEFbAIbEIbEGbIXbnobNhbIYbNjbKmbKDbKwbKvbAWbIQbNabNbbIRbITbIIbIIbIIbILbIObwmbwmbwmbwmbwmbLWbLVbLUbqrbJabJbbHBbJcbHBbHBbHBbJdbBbbJebDFbJfbJfbBebBgbJgbJhbJibJjbJjbJjbJjbJkbJlbJmbJnbJobJpbGsbJqbJrbJsbJtbJubJvbJwbJxaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDVbDWbJybJzbJzbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEabGDbGDbGDbEabJAbJBbJCbJDbJEbEdbJFbJGbJHbJIbJJbJJbJKbJJbJJbJLbJMbJNbJOaaabJPbJQbJRbJSbJTbGWbJUbJVbJWbJXbFIbJYbJZbKabFKbKbbKcbKdbKebKfbKgbKhbKibKjbKkbKlbIZbWnbIWbOibxFbKFbAIbAIbOmbIXbnobfdbfbbMabLLbLKbKEbNlbMabgxbOwbOAbLXbLMbLNbKIbLCbKGbKHbjAbLIbLGbLHbjAbKxbKCbKybGlbHAbKJbHBbHBbHBbHBbHBbKKbBbbKLbDFbKMbKMbBebKNbKObBhbKPbJlbJlbKQbKRbKSbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdbLebJwbLfaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbDWbLgbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLbqLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabFsbLhbLibLjbFsbLkbFwbFxbAgbAgbLlbLlbLlbAgbAgbFGbFGbFGbFGbLmbFGbFGbLnbJOaaabJPbLobLpbLqbLrbLsbLtbLubLrbLrbLvbLwbLxbLybFKbFKbFKbFKbFKbFKbLzbFKbFKbLAbLBbIybHibFNbIWasNbxFbxFbIVbIVbxFbxFbISbIUbGibIMbHxbIPbIPbHrbHubIKbINbIKbARbARbIJbARbIJbARbARbjAbAQbgAbFRbjAbKqbHcbGkbGlbGlbMcbHBbHBbHBbMdbGlbGlbBbbMebMfbKMbKMbBebMgbKObBhbHMbMhbMibMjbMkbMlbMmbMnbJlbMobMpbGsbMqbMrbMsbHYbMtbMubMvbMwaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDWbFqbFqbFqbFqbFqbFqbMxbFqbMybFqbFqbFqbFqbFqbDWbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMzbDZbMAbDZbMBaaaaabaaaaaabAgbMCbMDbMEbAgaaaaaaaaabFGbMFbMGbIhbFGbLnbJOaaabJPbMHbMIbMJbMKbGWbMLbMMbMNbMObFIbMPbMQbMRbMSbMTbMTbMTbMTbMUbKnbMWbKobMXbMYbMZbKpbKBbKAbFNbxFbHqbdZbHlbHjbKubnobfdbfbbKrbnobgxbgxbgwdMDbgtbLJccXbIzbHwbIvbHsbHtbKsbKtbjAbuKbgAbuLbjAbIHbHcbuLbGlbNnbNobNpbNqbNrbNsbNtbNnbBebNubNvbCCbBebBebNwbKObNxbHYbHYbGsbGsbGsbGsbGwbGsbNybJlbNzbGsbNAbHXbgQbHYbNBbNCbNDbHYaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbNEbNEbNEbNEbNEbNEbNFbFqbNGbNEbMybFqbFqbFqbFqbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaaaaabFGbNHbNIbNJbFGbLnbNKaaabNLbImbNMbNNbNObGWbGWbNPbNQbNRbNSbNTbNUbNVboHboHboHboHboHboGcdCboFbOabObbOcboEboDboKblAbjLbxFbjPbeXbluboYbrCbrxbndblvbNbbrQbsVbNbblEbNbbNbbnnbgxblFblGbgAbncbgAbHcbnebjAbnfbngbnfbjAbjJbjKbjJbGlblzblyblxbOCbODbOEbOFbOGbBebBebOHbBebBebOIbOJbKObnCbOKaabbOLbOMbONbOObOPbOObOQbORbOSbGsbOTbGxbOUbHYbOVbOWbOWbOXaacaacaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOYbFobFobFobFobFobFobFobOZbFrbFqbFqbFqbFqbPabFrbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabbFGbFGbFGbFGbFGbPbbFGaaaaaaaaaaaabFIbPcbPdbPebPfbFIbPgbFIbrJbSnbrKbPkbPkbrIbPmbPnbPobPpbrHbeWbeWbeWbrGbrFbeWbTcboIbrubsZboJblubAIblIbrBbrzbrybrEbtabrDboLbqfbqgbqdbqebgxblFbnpbnKbozboAbHcboyboCboCboBboBbnjbnhbnmbnlboNboMboPboObqcbqbbPObPObPPbPQbPRbPSbnCbPTbnCbOJbKObnCbPUaabbOLbPVbPVbPWbPXbPYbPZbQabQbbGsbQcbGxbzTbHYbHYbHYbHYbHYaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbJzbJzbJzbJzbJzbJzbQdbFqbJybJzbQebFqbFqbFqbFqbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabQfbQgbLnbFGbFGbFGbFGbFGbFIbFIbFIbFIbFIbFIbFIbFIbQhbQibigbQkbQlbQmbQnbQnbQobQpbidbibbhVbhUbhTbiebeWdRtbeYbeZbdZaWTbeXbedbfgbfebgtbfibfbbgxbfdbgxbgwbgxbfbbgubfubgubgubgvbgCbgDbifbiibhZbgAbgAbgBbhSbirbijbgRbGlbQJbQJbQKbQLbiabQNbQLbQObQPbQQbQRbQSbnCbQTbOJbKObQUbQVaabbOLbPVbQWbOObQXbOObQYbQZbRabGsbQcbGxbRbbRcbgQaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDWbFqbFqbFqbFqbFqbFqbMxbFqbQebFqbFqbFqbFqbFqbDWbDWaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbRdaTPbRfbRgbRgbRhbRibRjbRkbRlbRmbRnbRobRnbRpbRkbltblsbPjbRtbRubRvbRwbRwbRxbRybidbjIbjQbjQbjQbjRbeWbTcbeYbxFbiqbipbinbimbjHbjGbjGbjFbjEblDbjybjxbjzbiobihbjvbjtbjubitbiwblBblCbjDblwbjCbilbikbilbjAbjAblHbjBbGlbRTbRUbRVbjNbjMbRYbRZbGlbGlbqzbSabqzbqzbqzbSbbScbSdbqzbGsbGsbGsbGsbGsbSebGsbGsbGsbGsbGsbQcbGxbSfbRcbgQaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaabDWbDWbLgbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSgaaaaabaabbShbShbShbShbShbShbShbShbSibSjbRkbSkbRlbRlbRnbSlbRpbRkbSmbzlbzkbSobSpbQnbSqbQnbSrbSsbidbxIbxHbjQbjQbxCbeWbTcbeYbwabwabwadSbbwfbwabwabxGbxEbqibqibuHbqibuObuPbxVbvXbvYbvZbwcbxNbxKbxLbtdbxMblBbuKbgAbuLbgCbxJbGjbwsbGlbGlbGlbGlbwrbGlbSYbGlbGlbSZbTabTbbTcbTdbqzbSabTebTfbqzaTRbThbTibTjbTkbQcbzTbzTbTlbzTbxBbQcbGxbTmbgQbgQbgQaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbDVbDWbNGbNEbNEbFqbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTnbTobTpbTqbTqbTqbTrbTsbTtbTubTvbTwbTxbShbTybSjbRkbTzbRlbRmbRlbRnbTAbRkbTBbSnbAObRtbTCbQnbQnbQnbTDbTEbAPbzzbjQbzybjQbjRbeWbTcbeYbwabzxbzhbzwbzvbzhbwabgxbzgbzubzobASbzibxRbqibfbbxQbxUbzfbxSbxTblBbANbtdbzEblBbAQbgAbxObgCbzqbGjbzpbztbzrbzrbzsbzmbOlbOjbOlbOlbOlbOlbOkbUbbOlbymbUcbUdbUebzjbznbUgbUgbUgbUhbUibUgbUgbUgbUgbxPbUjbUkbUlbUmbUnbgQbgQbgQbgQaaaaabaaaaaaaaaamRamRamRaabaaaaaaaabaaaaaaaabaaaaaabHZbDWbGzbDWbDWbFqbFqbFqbFqbFqbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUobUobUobUobUobUpbUqbUrbUsbUsbUtbShbUubUvbUwbUxbUybUzbRlbRlbUAbRkbUBbUCbtobUEbUEbUFbUGbQnbUHbUIbtpbsTbsYbjQbjQbsUbeWbTcbeYbwabqpbqobqobqqbqnbqmbgxbrRbqibqhbqlbqkbrSbqibsibsSbrLbrObrPbuCblBbtcbtdbtHblBbrtbrvbrwbgCbtmbtlbKjbuJbKjbKjbtkbuIbVhbVibVjbVkbSRbSRbSVbSWbSRbSRbVlbVmbVnbVobVobVpbVqbVqbVrbVobVobVpbVqbVqbVrbVobVsbzTbVtbVubVvbVwbVxbrAbVzbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVAbVBbVCbVCbVDbDWbDWbFqbFqbVEbFqbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaabaabbVFbVGbVHbVIbVHbVJbVKbVLbVMbVMbVNbShbVObIhbRkbVPbRlbVQbRlbRlbRlbVRbTBbSnbwkbwjbPkbVTcdCbwlbwobwnbwqbwpbjQbuFbjQbuGbeWbTcbeYbwabuEbwdbwdbwdbuDbwabgxbxEbqibuBbtnbtjbthbtibfbbtgbtebtfbtbbwiblBbwgbtdbweblBbgCbgCbgCbgCbwhbTcbTcbFNbFNbFNbFNbFNbWobWpbWqbFNbFNaaaaaaaaaaaabWrbWsbWtbWubWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabgQbWvbWwbWxbgQbgQbgQbgQaaaaabaaaaaaaaaamRamRamRaabaaaaaaaabaaaaaaaabaabaabbWybWzbWAbGAbDVbDWbDWbFqbFrbFqbDWbDWaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbVFbWBbWCbWDbWEbUrbWFbUrbWGbUrbWHbWIbWJbWKbRkbWLbRlbVQbRlbRlbWMbRkbWNbWObwkdQPbPkbQnccNdQOdQMdQNbidbjObjQbjQbxHdQLbeWbTcbeYbwadNRdNSdQydQydQXdQYbgxbxEbqidOydOwbqkdMYbtibfbbtgbtgbtgbtgbtgblBdRQdRPdROblBdOWbTcbTcbTcbTcbTcbTcbFNaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabXqbXrbXsbXtbXqaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubXubXvbXwbXuaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbXxbDTbDTbDUbDVbDVbDWbDWbDWbDWbDXaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabbVFbXybXzbXAbXzbXBbXCbXDbXEbXFbXGbShbLnbIhbRkbXHbRlbXIbXJdQmdQlbRkdQvdQwdQtdQubXOdQrdQsdQrdQrdQrdMvdQqbjOdMtdQndQobeWbTcbeYbwadMwdQydQzdQydMxbwadMydMzbrMbrMdMAbrMdMCbuMdMDbgtbgtbgtbgtdMEdREdRxdRLdRFdRNbTcbTcbFNbFNbWobWpbWqbFNaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabYnbYobYpbYqbYnaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubYrbYsbYtbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabbUobUobUobUobUobShbShbShbShbShbShbShbLnbIhbRkbRkbRkbRkbRkbRkbRkbRkbXMbSnbRsdRGbYvdRHdRIdRJdRydRzdRAdRBdRCdRDdONdOObeWbTcbeYbwadORdRMdRKdRmdRTdRUdPodPBdPkdRSdOSdOTdOQbrMdPndPndPndPndPndOPdPnbLDbLDbLDbLDbTcbTcbFNaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabYRbYSbYTbYUbYRaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabXubYVbYWbYXbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbIhbFGbFGbFGbFGbYYbIhbIhbYZbZabZabZabZabZbbZcbZcbZdbZebZebZebZebZebZebZebRjbFGbZfbSnbRsdRhbZhdRjdRibPkdRcbUEdRadRbdRfdRgdRddRebeWbTcbeYbwadOBdRldRmdRndOCdRsdOIdOJbrNbrNbAFdRRdOMbrMdRtbTcbTcdRvbgxbfbbgxdRvbTcbTcbTcbTcbTcbFNaaaaaaaaaaaaaabbZBaabaabaabbZBbZBaabaabaabaabaabaabaabbZCbWrbZDbZEbZCaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaabXubZFbZGbZHbXuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbZIbZJbZKbZLbZMbZNbIhbIhbSibZObIhbFGbFGbZPbZQbFGbFGbZRbZSbZQbFGbFGbZTbIhbSjbFGbXMbSnbRsdSnbZVbQnbZWbPkbZXbZYbZZdSrdMSdSodSpdSqbNWbKjdSCdSDdQHdQIdSEdQGdQFdSbdSmdOJbrNbrNbAFbrNdQAbuMbTcdSubSRdSxdQCdQBdQxdStdSsbWpbWpbWpdSlbFNaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaaaaaaabWrcavcawcaxbWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaacaycazcaAcaBcaCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaabIhbFGbFGbFGbFGcaDcaEcaEcaFcaGcaHcaGaaacaIaaaaaaaaaaaaaaaaaaaaabFGcaJbIhbSjbFGcaKcaLcaMcaNcaOcaPcaQcaRcaScaTcaUdRZdRXdRYdRVdRWdSgbOcdShdRsbwadSidSjdSkdSadSbdScdSddSedPYdQedPYdQpbuMbTcbFPaaadPmdPndSfdPndPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabWrbWrbWrbWrbWrbWrbWrbWrbWrcbocbpcbqbWraaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaabcbrcbscbraabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaabbFGcbtcaGcaGcbucaGcbvcaGcaGcbwcbxcaGcaGcbycbzcbxcaGcaGcaGcaGcbAcbBcbCcbDbRscbEcbFbQnbQobQnbQnbQnbQndSYdSZbRFbRFbQvbLDdRtdRqdRrdRodRpdTidRkdSGdThbuMdQWbuMbuMdTebuMdTdbuMbTcbFPaaadPmdSBdSFdSBdPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabWrcceccfccgcchcciccjcckcclccmccnccoccpccqaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaabccrccsccraabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvalvalualualvalualualualUalualualualvalvaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabbIkcbtcctccuccvccwccxccycczccAccBccCcaGccBccDccEccFccFccGcaGccHccIccJccKbRsdPcccLccMbQobQnbSqbQnccNdSIdSKbWRbSvdSJbLDbLDbLEdQSdSadQKdSAdQRdQJbLFdSzdSPdSvdSwdSydSNdSWbNWbKjdSXaaadSVdPldOvdPldSUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabbWrcdgcdhcdgcdicdjbYocdkcclcdlcdmcdlbWrbWraaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabaaacdnaaaaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaalvaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaabJOcbtcdocdpcdqcdrcdscdscdscdscdtcducdvccFcdwccFccFcdxccFcdycdzcdAcdBccKbRsdPccdCcdDbQodLVcdFcezbQodPbdOZbRIbXRdPadOKdOLdKOdKPbNWdKSdKQbNWbNWdLTbIZdLSdOVbOcdOUbTcbTcdOWbTcbFNaaadOXdPldOvdPldOYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabWrcdgcdgcdgceccedccjceecefcegcehceicejbWraaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaabaaacekaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaacelcemcenaaacelcemcenaaacelcemcenaabceoaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaabJOcbtcdocepccFcdxceqccFccFccFccFccFcepcepccFccFccFccFcercescdzcetcdzceucevcdCcdCcewbQocexceycezbQodOHdOFdOGdODdOEdOzdOAbNZdzwdBkdBkdPAdKJdKJdKKdKLdPCdOUbTcbTcbTcbTcbTcbTcbFNaaadOudPldOvdPldOxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaabWrcclcclcclcclcePbYoceQceRceSceTceUceVbWraaaaaaaaaaaaaaaceWceWceWceXaabaabaabaabcekaabaabaabaabaabalUceWceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaacelceYcenaaacelceYcenaaacelceYcenaabaabaabaabaaaaaaaaaaaaaaaaaaaabaabaabbJOcbtceZcepcfaccFcfbcfccfdcfdcdwccFcepcfeccFccFccFccFcffcfgcfhcfibJZcfjcfkcflcfmcfnbQocexcdFcfobQodPpdMSbPrdPqbZkdPidPjdPhbPrbPubPqbPvbLDbLDbLDbLEbLDbLDdPMdPLdPLdPLdPLdQDbFNaaadPmdPZdPOdPZdPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabWrcceccfccgcfzcfAccjcfBcfCcfDcfEbYocfFbWraaaaaaaaaaaaaaaceWaaaaabaaaaabaaaaaaaaacfGaaaaabaabaaaaaaaaaaaaceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaluaabcelceYcenaaacelceYcenaabcelceYcenaabaaaaaaaabaabaaaaaaaaaaaaaaaaabaaaaaabNKcbtcaGcfHccFcfIcfJcfKcfLcfMcfLcfNcfLcfOcfPccBcfQcepcepcesbLycfRcfScfTcfUcfVdPgcfXcfYcfZcgacgbcgcdPfdMSbQrbQsbQtbQudPebQwbQxbQybQzbQAbQBbQCbQDbQEbQFdMGaaaaaaaaaaaaaaaaaaaaaaaabYkbTVdPdbTVbYiaaaaaaaabaaaaaaaaabTVcbjcdRcdSbTVaabaabaaaaaaaabbWrcdgcdgcdgcgocdjbYocgpcgqcgrcgsbYocgtbWrbWrbWrbWraaaaaaceWaaacgucgucgucgucguaabcgvaabcgucgucgucgucguaaaceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacelceYcenaabcelceYcenaaacelceYcenaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaabFGcbtcaGcgwcgxcgxcgycaGcaGcaGcaGcaGcaGcaGcaGcaGcaGcaGcaGcaGbFGcgzbFGcgAbFGbPkcgBcgCcgDcgEcgFcgGcgHdPNdMSbRzbQsbQtbRAdPebRBbRCbRDbREbRFbRGbRFbRHbRIbRJdMGbRKbRKbRKbRKbRKaaaaaaaaabYkdPKdPJdPHbTVbTVbTVdPIcbjcdRcdSbTVbXkdPLdPMbTVbTVbTVbYiaaaaaabWrcdgcdgcdgcfzcgVccjcgWcgXcgYcgZchachachbchcchdbWraabaabceWaabchechfchfchfchfchgcgvchhchichichichichjaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvaluaabaaacelceYcenaabcelceYcenaaacelceYcenaabaaaaaaaaaaaaaabaabchkchlchlchlchlbFGbFGcbtcaGchmchnchnchochpchqchrchrchrchrchrchrchschrchrchtchtchrchuchvchwchxbPkchychzchAchBchCchDbQndPpdPFdPGdPDdPEdPydPzbSxbRCbSybSzbSAbSBbSCbSDbSEbSFdMKbSHbSIbSJbSKbRKaaaaaaaaabYkbZtcdfdPrbZwdPtdPsdPvdPudPxdPwbTVdPAcdfbUZdOddMkdMjbTVaaaaaabWrcclcclcclcclchQbYocgpchRchScgsbYobYochUbYochVbWraaaaaaceWaabchWchWchWchWchWaaacgvaaachWchWchWchWchWaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaaabaabchXaabaabaabchXaabaaaaabchXaabaaaaaaaaaaaaaaachYchZciacibciccidciecifcaEcigcaGcaGcihciicaGcaGbPbcijcijcijcijcijcijcikcijcijcijcilcilcimdQicilcildQjciqchzchAbQnbQnbQnbQndQkdMSbTGbTHbRFbTIdQbbRFbTKbSybSzbTLbTMbTMbTNbTObTPdMGbTQbTRbSKbTSbRKaaaaaaaaadQhdQgcdfdQfbZwdMsdQdbWmbWkdQcbWkdNtdNrdPZdQacbQdMqdMrbTVaaaaaabWrcceccfccgciCcfAccjciDbYqciEciFciFciGciHciIciJbWraaaaaaceWaaaaabaaaaabaabaabaaacgvaaaaabaaaaabaaaaabaaaceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaacelceYcenaabcelceYcenaaacelceYcenaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaabFGcbtcaGcgwcgxcgxcgycaGcaGcaGcaGcaGcaGcaGcaGcaGcaGcaGcaGcaGbFGcgzbFGcgAbFGbPkcgBcgCcgDcgEcgFcgGcgHdPNdMSbRzbQsbQtbRAdPebRBbRCbRDbREbRFbRGbRFbRHbRIbRJdMGbRKbRKbRKbRKbRKaaaaaaaaabYkdPKdPJdPHbTVbTVbTVdPIcbjcdRcdSbTVdQUdQVdQZbTVbTVbTVbYiaaaaaabWrcdgcdgcdgcfzcgVccjcgWcgXcgYcgZchachachbchcchdbWraabaabceWaabchechfchfchfchfchgcgvchhchichichichichjaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvaluaabaaacelceYcenaabcelceYcenaaacelceYcenaabaaaaaaaaaaaaaabaabchkchlchlchlchlbFGbFGcbtcaGchmchnchnchochpchqchrchrchrchrchrchrchschrchrchtchtchrchuchvchwchxbPkchychzchAchBchCchDbQndPpdPFdPGdPDdPEdPydPzbSxbRCbSybSzbSAbSBbSCbSDbSEbSFdMKbSHbSIbSJbSKbRKaaaaaaaaabYkbZtcdfdPrbZwdPtdPsdPvdPudPxdPwbTVdQTdQEdQQdOddMkdMjbTVaaaaaabWrcclcclcclcclchQbYocgpchRchScgsbYobYochUbYochVbWraaaaaaceWaabchWchWchWchWchWaaacgvaaachWchWchWchWchWaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaaabaabchXaabaabaabchXaabaaaaabchXaabaaaaaaaaaaaaaaachYchZciacibciccidciecifcaEcigcaGcaGcihciicaGcaGbPbcijcijcijcijcijcijcikcijcijcijcilcilcimdQicilcildQjciqchzchAbQnbQnbQnbQndQkdMSbTGbTHbRFbTIdQbbRFbTKbSybSzbTLbTMbTMbTNbTObTPdMGbTQbTRbSKbTSbRKaaaaaaaaadQhdQgcdfdQfbZwdMsdQdbWmbWkdQcbWkdNtdNrdRwdQacbQdMqdMrbTVaaaaaabWrcceccfccgciCcfAccjciDbYqciEciFciFciGciHciIciJbWraaaaaaceWaaaaabaaaaabaabaabaaacgvaaaaabaaaaabaaaaabaaaceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaluaabciKciLciLciMciNciNciNciNciNciNciNciNciNciNciNciNciNciNciOciPciQciRciSciTciUciVciWbIhcbtciXcaGcaGcaGcaGbIhbPbcijciYciZcjacjbcjccjdcjecjfcjgcjhcjicjjcjkcjlcjmcjncjocjpchAbQnbQnbQnbQndPXdMSbUKbULbRFbQvdNhbUMbUNbUObUPbUQbURbUSbUTbUUbUVdMMbSHbUXbSKbSKbRKaaaaaaaaacbhbZwcbibZwbZwdPWdPVdPTdPSdPSdPUdPQdPRccbdPPdModMpdMmbTVaaaaaabWrcdgcdhcdgcjvcdjbYobYpbYqcjwbYobYocjxcclcclcclbWraaaaaaceWaaacgucgucgucgucguaabcgvaabcgucgucgucgucguaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaaabaabcjyaabaaaaabcjyaabaaaaabcjyaabaaaaaaaaaaaaaaachYchZcjzcjAcjBcjCchlcjDbIhcjEcaEcaEcaEcaEcaEcaEcjFcijcjGcjHcjIcjIcjJcjKcjLcjMcjNcjOcjPcjQcjRcjScjTcjUcjVcfnchAcjWdMTbQnbQndMUdMSdMRbVZbRFbQvdNhdNgbVUbWbbWcbWdbWebWfbWgbWfbWhdMGbRKbRKbRKbRKbRKaaaaaaaaabYkdMZdNadNcdNdcbTdNbdNedNfcJvcdfbWkdMVcbTdMWdMXbYkcJqbTVaaaaaabWrcdgcdgcdgciCckcckdckeckfckgbYobYockhbYockibYobXqaabaabceWaabchechfchfchfchfchgcgvchhchichichichichjaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaaabaabcjyaabaaaaabcjyaabaaaaabcjyaabaaaaaaaaaaaaaaachYchZcjzcjAcjBcjCchlcjDbIhcjEcaEcaEcaEcaEcaEcaEcjFcijcjGcjHcjIcjIcjJcjKcjLcjMcjNcjOcjPcjQcjRcjScjTcjUcjVcfnchAcjWdMTbQnbQndMUdMSdMRbVZbRFbQvdNhdNgbVUbWbbWcbWdbWebWfbWgbWfbWhdMGbRKbRKbRKbRKbRKaaaaaaaaabYkdMZdNadNcdNdcbTdNbdNedNfcJvcdfbWkdMVcbTdMWdMXdNNcJqbTVaaaaaabWrcdgcdgcdgciCckcckdckeckfckgbYobYockhbYockibYobXqaabaabceWaabchechfchfchfchfchgcgvchhchichichichichjaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvalvaluaabaabcelckjcenaaacelckjcenaaacelckjcenaabaaaaaaaaaaaaaabaabckkchlchlchlchlbFGbZTcaJbIhcklbIhbIhbIhckmbSjcijckncjIcjIcjIcjIckocjIcjIckpckqckrckscktckuckvckwckxckyckzckAdNpdNodNndNmdNldNkdNjdNidNvdNubWXbWYbWZbXabXbbXcbSAbXdbXebXfdMKbSHbXgbXhbXhbRKaaaaaaaaabYkcaobZydNwbYidNxcdfbWmdNydNrcJwdNtdNsdNrcJwcgUbYkbTVbTVaaaaaabZCbWrckNckOckOckPckQckRckQckSckTckUckVckWccjckXckYaaaaaaceWaabchWchWchWchWchWaaacgvaabchWchWchWchWchWaaaceWaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelckjcenaabcelckjcenaaacelckjcenaaaaaaaaaaabaaaaabaabaabaaaaaaaaaaaabFGckZclaclaclbbFGbFGbFGbFGclccldclecjIcjIclfcjIckocjIcjIclgclhclicljclkcllclmclhclnbQnchAcloclpclqbQndNzdNAbRIbXUbXVbXWdNHbXXbXYbXZbYabYbbRFbYcbYdbYebTPdMGbTQbYfbYgbYhbRKaaaaaaaaabYkcaldNBdNGcbQdNFdNDdNEbWjcJycJzcJAdNIcJycJRcJAbYkaaaaaaaaaaaaaaaaaaciBaaabWrclyclzclAclBclCclzclDclEclCclzclFbWraaaaaaceXaaaaabaaaaabaaaaabaaaclGaaaaabaaaaabaabaabaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGmaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaluaabcelckjcenaaacelckjcenaaacelckjcenaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabclHbNHclIbFGbIhclJcjIcjIcjIcjIcjIckocjIcjIclKclhclhclLclMclNclOclPclQclRclSclTclUclVbPkbPkdNKdNJbYDbYEbQvdNhbYFbYGbYHbYIbYJbRFbYcbYKbYLbYMdMMbSHbYNbXhbXhbRKaabaaaaaabYkdNLcgmdNObTVdNPdNQdNMcglcJAcJScJTdNTcJAcJUcJTbYkaaaaaaaaaaaaaaaaaacmaaabbWrcmbcmccmdcclcmecmfcmgcclcmhcmicmjbWraaaaaaceWaaacgucgucgucgucguaabcekaabcgucgucgucgucguaabceWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 1b126bd1d5033ce79336df1b354050290bd4d3a9 Mon Sep 17 00:00:00 2001 From: fauxtada Date: Sun, 23 Jun 2013 19:33:43 -0700 Subject: [PATCH 23/31] Changelog - BEF Whoopsie, forgot to do a changelog for all the map changes done for this merge~ --- html/changelog.html | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index 9172fde59e2..bdc195a8628 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -40,7 +40,7 @@ Header Section Code: Abi79, Aryn, Cael_Aislinn, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, SkyMarshal, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty
- Sprites: Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone
+ Sprites: Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone, faux
Sounds: Aryn
Thanks To: /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot. @@ -58,7 +58,16 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. -->
-

June 22nd 2013

+
+

June 23, 2013

+

faux updated:

+
    +
  • There has been a complete medbay renovation spearheaded by Vetinarix. http://baystation12.net/forums/viewtopic.php?f=20&t=7847 <-- Please put any commentary good or bad, here.
  • +
  • Some maintenance doors within RnD and Medbay have had their accesses changed. Maintenance doors in the joint areas (leading to the research shuttle, virology, and xenobiology) are now zero access. Which means anyone in those joints can enter the maintenance tunnels. This was done to add additional evacuation locations during radiation storms. Additional maintenance doors were added to the tunnels in these areas to prevent docs and scientists from running about.
  • +
  • Starboard emergency storage isn't gone now, it's simply located in the escape wing.
  • +
  • An engineering training room has been added to engineering. This location was previously where surgery was located. If you are new to engineering or need to brush up on your skills, please use this area for testing.
  • +
+

June 22nd 2013

Cael_Aislinn updated: